Я реализую плагин Photoshop на Mac, и я делаю это с помощью Cocoa. До сих пор все в порядке, но следующим шагом является предоставление «предварительного просмотра» изображения, как части окна моего плагина, и я застрял. Я с n00b Obj-C программист, который на самом деле не помогает :-)Photoshop Plugin с использованием Cocoa - Как получить предварительный просмотр
До сих пор у меня есть что-то вроде этого:
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) не удалось
Возможно, я неправильно вычислил размер inData. Помогите?
Кроме того, NSImage сможет правильно интерпретировать этот кадр данных изображения? Или я должен отказаться от него и просто выполнить поэтапное отображение в NSImage?