将ciimage转换为可写格式

时间:2011-11-29 13:59:10

标签: objective-c image quartz-graphics core-image

我需要将CIImage转换为可写入磁盘的格式。

目前我正在使用以下代码将其转换为JPG格式。

 NSBitmapImageRep* rep = [[[NSBitmapImageRep alloc] initWithCIImage:result] autorelease];

 NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
[JPEGData writeToFile:targetPath atomically:YES]; 

但实际内存使用率高达100 MB以上。我的应用程序要求我处理大量图像,所以我需要优化我的内存使用。

任何人都可以提出任何建议???

1 个答案:

答案 0 :(得分:0)

如果累积内存是一个问题,而不仅仅是一个图像,您可以尝试将最后两行包装在您自己的自动释放池中:

@autoreleasepool {
    NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
    [JPEGData writeToFile:targetPath atomically:YES];
}