Mac に Photoshop プラグインを実装しており、Cocoa を使用しています。ここまでは問題ありませんが、次のステップは、プラグイン ウィンドウの一部として「プレビュー」画像を提供することです。私はn00b Obj-Cプログラマーですが、実際には役に立ちません:-)
これまでのところ、次のようなものがあります。
int dataSize = gFilterRecord->bigDocumentData->wholeSize32.v *
gFilterRecord->bigDocumentData->wholeSize32.h *
gFilterRecord->planes;
NSData *inData = [[NSData alloc] initWithBytesNoCopy:gFilterRecord->inData length:dataSize freeWhenDone:NO];
NSLog(@"LoadImageFromSDK : Data created");
NSImage *imageTmp = [[NSImage alloc] initWithData:inData];
NSLog(@"LoadImageFromSDK : Image created");
//Save to PNG file as a test of this image creation
[[imageTmp TIFFRepresentation] writeToFile:@"/tmp/imageTmp.tif" atomically:YES];
NSLog(@"LoadImageFromSDK : Wrote image to disk");
現時点では、恐ろしくクラッシュします:
09/07/22 10:23:32 AM Adobe Photoshop Elements[46628] *** NSCopyMemoryPages(0x0, 0x245f4000, 2265088) failed
おそらく inData のサイズを間違って計算しています。ヘルプ?
また、NSImage はその画像データ blob を正しく解釈できますか? または、それをあきらめて、ピクセル単位で NSImage にマッピングする必要がありますか?