我正在开发XCode中的OSX项目。我在XCode中为我的资产目录添加了一个图像集。它被称为'Foo'。
如何从中获取CGImage?
从中获取NSImage似乎非常简单:
let image = NSImage(named: "Foo")
...但不是我需要的CGImage。
特定设置:OSX 10.11上的XCode 7.1 Swift 2.1中的El-Capitan编码导入Cocoa和MetalKit
编辑:有些人指出了如何通过CGImageForProposedRect方法将NSImage转换为CGImage。我希望完全避开NSImage,因为它似乎是一个浪费的中间步骤。但也许这是访问您的图像资产的唯一方法?如果有人知道避免NSImage转换的方法会很棒,否则我猜接受的答案是最好的方法。
答案 0 :(得分:7)
自OS X 10.6起,NSImage
已采用方法CGImageForProposedRect(_:context:hints:)
。您可以为所有参数传递nil
。因此:
let nsImage = NSImage(named: "foo")
let cgImage = nsImage?.CGImageForProposedRect(nil, context: nil, hints: nil)