次のコードを使用して、ムービーのフレームをデスクトップに保存しています。
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];
コードの最後の 2 行目で、コンソールに次のメッセージが表示され、結果はデスクトップに保存されません。
<Error>: CGImageDestinationFinalize image destination does not have enough images
CGImageDestinationFinalize failed for output type 'public.jpeg'
NSImage は依然としてメソッド呼び出し全体に割り当てられたオブジェクトであるため、画像の量が不十分であるという苦情を受けている理由がわかりません。
助けていただければ幸いです。前もってありがとう、リッキー。