NSImage из байтового массива - PullRequest
3 голосов
/ 13 апреля 2011

Я пытаюсь отобразить изображение в NSImageView с изображением, содержащимся в байтовом массиве.Как я могу это сделать?Из того, что я понимаю, мне нужно преобразовать свой byte [] в переменную NSData и передать его в NSImage.Это правильно?Как мне это сделать?Я пробовал приведение, и это не работает, и, кажется, нет встроенного преобразования ...

Я пробовал следующее:

Приведение:

NSData bytesAsMacVariable = (NSData) imageAsBytes;

Также попытался

NSData bytesAsMacVariable = imageAsBytes as NSData;

Наконец, попытался передать байт [], как если бы это был NSData.

NSImage imageToShow = new NSImage(imageAsBytes);

Ничего из этого не будет работать, и какНасколько я вижу, ни NSImage, ни NSData не имеют функции-члена, которая принимает byte [] для преобразования ...

Ответы [ 2 ]

3 голосов
/ 14 апреля 2011

Вы преобразуетесь в тип объекта, но вам следует привести в указатель на объект тип.
Попробуйте что-нибудь более похожее на

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

Указатели очень важны.

2 голосов
/ 16 апреля 2011

Вы можете использовать NSMutableData, например:

new NSImage (new NSMutableData (imageAsBytes));
...