我使用下面的代碼到電影的圖像保存到我的桌面:錯誤節省NSImage中作爲NSData的
NSCIImageRep *imageRep = [NSCIImageRep imageRepWithCIImage:[CIImage imageWithCVImageBuffer:imageBuffer]];
NSImage *image = [[[NSImage alloc] initWithSize:[imageRep size]] autorelease];
[image addRepresentation:imageRep];
CVBufferRelease(imageBuffer);
NSArray *representations = [image representations];
NSData *bitmapData = [NSBitmapImageRep representationOfImageRepsInArray:representations usingType:NSJPEGFileType properties:nil];
[bitmapData writeToFile:@"/Users/ricky/Desktop/MyImage.jpeg" atomically:YES];
在代碼的倒數第二行,我收到以下消息在控制檯中,用沒有結果被保存到桌面:
<Error>: CGImageDestinationFinalize image destination does not have enough images
CGImageDestinationFinalize failed for output type 'public.jpeg'
的NSImage中仍然是整個方法調用的分配對象,所以我不知道爲什麼我收到有關的圖像數量不足的投訴。
我很感激任何幫助。 在此先感謝, 瑞奇。
謝謝Jess。你的解決方案效果很好。臂,感謝您的帖子。 雖然我們在這裏,有沒有人知道在將圖像保存到磁盤之前是否有水平翻轉圖像的方法? 再次感謝。 瑞奇。 – Ricky 2010-02-27 00:42:49