这时的NSImage看起来就像是一个聪明的领导,它带领几个得力的助手(NSImageRep),指挥这些助手完成图像数据的管理工作. 代码示例: 通过NSImageRep加载图片 let size = NSMakeSize(400, 100) let imgUrl = URL(string: "https://img.zcool.cn imageView.image = img // 将img 添加到视图上显示 关于 NSImageRep NSImageRep 类(及其子类)是真正用来表示图像数据的.它主要从三个方面来描述一个图像 多少情况下,一个图片文件就只是一张图片,所以NSImage会创建一个NSImageRep对象来管理图像数据; 但一个图片文件内有多张图片时,NSImage就会创建多个NSImageRep对象,每个对象对应文件内每个独立的图片 Classes 多数情况下,我们从一个文件中加载图像时,NSImage会自动根据图像文件来创建合适的NSImageRep实例对象,不需要我们手动创建.我们只需关心将图像显示到视图中.
controller.promptValues = list } 经过发现NSImage属性的Size不是真正的分辨率的大小,我们需要用到 open var representations: [NSImageRep ] { get } 属性,里面的NSImageRep里面的 open var pixelsWide: Int open var pixelsHigh: Int 我们写一个给NSImage写一个扩展的属性
let targetFrame: NSRect = NSMakeRect(0, 0, size.width, size.height); let sourceImageRep: NSImageRep