我正在尝试在CoreGraphics中处理图像,然后将处理后的图像返回到NSImage
以进行保存和显示。我有足够的资源来介绍如何在iOS中执行这些功能,但NSImage
中似乎缺少帮助方法。在iOS中,类方法是imageWithCGImage:
,如何在Mac OS中执行此操作?
答案 0 :(得分:45)
NSImage中的匹配方法是initWithCGImage:size:
。
第二个参数采用图像的大小。像素(CGImage)的大小和点的大小之间的因子是比例因子。因此,例如,如果你有一个100×100px的CGImage,并传递(NSSize){ 50.0, 50.0 }
的大小,那么图像将是50个点,并且是双分辨率。
通常你应该以像素的大小(以CGI像素为单位)传递大小。为了处理多个比例因子,最好使用具有多个NSImageRep的单个NSImage,例如对于大多数类型从-[NSWorkspace iconForFileType:]
获得的内容,或者从典型的.icns文件创建NSImage。