我正在尝试在 CoreGraphics 中处理图像,然后将处理后的图像返回到NSImage
用于保存和显示的图像。我有足够的资源来说明如何在 iOS 中执行这些功能,但在NSImage
. 在 iOS 中,类方法是imageWithCGImage:
,你怎么能在 Mac OS 中做到这一点?
问问题
15749 次
1 回答
48
NSImage 中的匹配方法是initWithCGImage:size:
.
第二个参数以点为单位获取图像的大小。(CGImage 的)像素大小和点大小之间的因子是比例因子。因此,例如,如果你有一个 100×100px 的 CGImage,并传递一个大小为 的(NSSize){ 50.0, 50.0 }
,图像的大小将是 50 点,分辨率是双倍的。
通常你应该只传递以像素为单位的大小(来自 CGImage)作为以点为单位的大小。为了处理多个比例因子,最好使用带有多个 NSImageRep 的单个 NSImage,就像您从-[NSWorkspace iconForFileType:]
大多数类型中获得的内容或从典型的 .icns 文件创建 NSImage 一样。
于 2012-02-01T17:47:08.110 回答