Macos 从CGImageRef获取NSImage

Macos 从CGImageRef获取NSImage,macos,core-graphics,nsimage,cgimageref,Macos,Core Graphics,Nsimage,Cgimageref,我正在尝试在CoreGraphics中处理图像,然后将处理后的图像返回到NSImage以进行保存和显示。关于如何在iOS中执行这些功能,我有足够的资源,但是NSImage中似乎缺少helper方法。在iOS中,类方法是imageWithCGImage:,在Mac OS中如何做到这一点?NSImage中的匹配方法是initWithCGImage:size: 第二个参数以点为单位获取图像的大小。(CG图像的)像素大小和点大小之间的因子是比例因子。因此,例如,如果您有一个100×100px的CGIma

我正在尝试在CoreGraphics中处理图像,然后将处理后的图像返回到
NSImage
以进行保存和显示。关于如何在iOS中执行这些功能,我有足够的资源,但是
NSImage
中似乎缺少helper方法。在iOS中,类方法是
imageWithCGImage:
,在Mac OS中如何做到这一点?

NSImage中的匹配方法是
initWithCGImage:size:

第二个参数以点为单位获取图像的大小。(CG图像的)像素大小和点大小之间的因子是比例因子。因此,例如,如果您有一个100×100px的CGImage,并传递一个大小为
(NSSize){50.0,50.0}
,则该图像的大小将为50个点,分辨率为两倍

通常,您应该只传递以像素为单位的大小(来自CGImage)作为以点为单位的大小。对于处理多个比例因子,最好使用具有多个NSIMAGEREP的单个NSImage,就像您从大多数类型的
-[NSWorkspace iconForFileType:
中获得的,或者从典型的.icns文件创建NSImage。

NSZeroSize是“与CGImage大小相同”的缩写。