4

バイト配列に含まれる画像を使用して、NSImageView に画像を表示しようとしています。これどうやってするの?私が理解していることから、byte[] を NSData 変数に変換し、それを NSImage にフィードする必要があります。これは正しいです?どうすればいいのですか?キャストを試みましたが、うまくいきません。変換が組み込まれていないようです...

私は次のことを試しました:

鋳造:

NSData bytesAsMacVariable = (NSData) imageAsBytes;

また試した

NSData bytesAsMacVariable = imageAsBytes as NSData;

最後に、NSData であるかのように byte[] を渡そうとしました。

NSImage imageToShow = new NSImage(imageAsBytes);

これらはどれも機能しません。私が見る限り、NSImage にも NSData にも、変換のために byte[] を受け入れるメンバー関数はありません...

4

2 に答える 2

3

次のように、NSMutableData を使用できます。

new NSImage (new NSMutableData (imageAsBytes));
于 2011-04-16T15:57:49.147 に答える
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 に答える