如何从我的XCode资产目录中获取CGImage

时间:2015-10-27 18:49:27

标签: xcode swift macos cgimage

我正在开发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转换的方法会很棒,否则我猜接受的答案是最好的方法。

1 个答案:

答案 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)