问题描述
|
我正在尝试在NSImageView中显示图像,并在Byte数组中包含图像。我怎样才能做到这一点?据我了解,我需要将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];
指针非常重要。
,您可以使用NSMutableData,如下所示:
new NSImage (new NSMutableData (imageAsBytes));