我试图在 NSImageView 中显示图像,图像包含在字节数组中。我怎样才能做到这一点?据我了解,我需要将 byte[] 转换为 NSData 变量并将其提供给 NSImage。它是否正确?我该怎么做?我尝试过强制转换,但不起作用,而且似乎没有内置任何转换...
我尝试过以下方法:
选角:
NSData bytesAsMacVariable = (NSData) imageAsBytes;
也尝试过
NSData bytesAsMacVariable = imageAsBytes as NSData;
最后,尝试传递一个 byte[],就好像它是 NSData 一样。
NSImage imageToShow = new NSImage(imageAsBytes);
这些都不起作用,据我所知,NSImage 或 NSData 都没有接受 byte[] 进行转换的成员函数...
最佳答案
您正在转换为对象类型,但您应该转换为指向对象的指针类型。
尝试一些更像
NSData *imageData = [NSData dataWithBytes:byteArray length:arrayLength];
NSImage *image = [[NSImage alloc] initWithData:imageData];
[imageView setImage:image];
[image release];
指针非常重要。
关于cocoa - 来自字节数组的 NSImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5645157/