我创建了一个UInt8数组
var pixels: [UInt8] = []
由alpha,red,green和blue组件填充,需要从他的数组创建NSImage。我写了以下代码
let imageData = NSData(bytes: pixels, length: 1000)
Swift.print(imageData)
newImage = NSImage(data: imageData as Data)!
其中print命令打印我的字节,如ff0493f8 ff455772 ffa281ed ff9c14d7 ff6eb302 ...但是newImage的创建失败,错误"致命错误:在展开可选值"时意外发现nil。 我做错了什么? 感谢。
答案 0 :(得分:0)
你有一些问题。
NSData
?只需使用Data
。imageData
实际上并不代表有效图片,因此NSImage
为nil
,但您试图强行打开它。尝试这样的事情:
let imageData = Data(bytes: pixels)
Swift.print(imageData)
if let newImage = NSImage(data: imageData) {
// Do something with the image
} else {
// oops - can't create the image
}