1
我很难弄清楚如何从CGImageRef
获得NSData
图像的表示。我发现的所有答案都使用UIImage
或NSImage
,但我的应用程序是跨平台的,所以我只想使用Core Graphics。 Objective-C只是简单地将CFData
免费桥接到NSData
并简单地施放它,但Swift不会允许这样做。我得到的最接近是:来自Swift的CGImageRef的NSData
var image: CGImageRef? = nil
//...
if let dataProvider: CGDataProviderRef = CGDataProviderCreateWithURL(url) {
image = CGImageCreateWithPNGDataProvider(dataProvider, nil, false, CGColorRenderingIntent.RenderingIntentDefault)
// works fine
//...
if let data = CGDataProviderCopyData(CGImageGetDataProvider(image)) as? NSData {
// Do something with data, if only it ever got here!
}
}
但剧组并没有成功过...