4

我正在尝试在 NSImageView 中显示图像,图像包含在 Byte 数组中。我怎样才能做到这一点?据我了解,我需要将我的 byte[] 转换为 NSData 变量并将其提供给 NSImage。它是否正确?我该怎么做?我试过铸造,但不起作用,而且似乎没有内置任何转换......

我尝试了以下方法:

铸件:

NSData bytesAsMacVariable = (NSData) imageAsBytes;

也试过

NSData bytesAsMacVariable = imageAsBytes as NSData;

最后,尝试传递一个 byte[],就好像它是一个 NSData。

NSImage imageToShow = new NSImage(imageAsBytes);

这些都不起作用,据我所知, NSImage 或 NSData 都没有接受 byte[] 进行转换的成员函数......

4

2 回答 2

3

您正在转换为对象类型,但您应该转换为指向对象的类型。
尝试更多类似的东西

NSData *imageData = [NSData dataWithBytes:byteArray length:arrayLength];
NSImage *image = [[NSImage alloc] initWithData:imageData];
[imageView setImage:image];
[image release];

指针非常重要。

于 2011-04-13T20:36:00.153 回答
3

您可以使用 NSMutableData,如下所示:

new NSImage (new NSMutableData (imageAsBytes));
于 2011-04-16T15:57:49.147 回答