【问题标题】:Getting NSImage from CGImageRef从 CGImageRef 获取 NSImage
【发布时间】:2012-02-01 15:21:01
【问题描述】:

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

【问题讨论】:

    标签: macos core-graphics nsimage cgimageref


    【解决方案1】:

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

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

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

    【讨论】:

    • NSZeroSize 是“与 CGImage 大小相同”的简写。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多