ciimageを書き込み形式に変換します
-
25-10-2019 - |
質問
変換する必要があります CIImage
ディスクに書き込むことができる形式に。
現在、次のコードを使用してJPG形式に変換しています。
NSBitmapImageRep* rep = [[[NSBitmapImageRep alloc] initWithCIImage:result] autorelease];
NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
[JPEGData writeToFile:targetPath atomically:YES];
しかし、実際のメモリ使用量は100 MBを超えるまでシュートします。私のアプリケーションでは、多数の画像を処理する必要があるため、メモリ使用量を最適化する必要があります。
誰かが何か提案してもらえますか?
解決
1つの画像だけでなく問題である累積メモリの場合、独自のAutorEleaseプールで2つの最後の行をラップしてみてください。
@autoreleasepool {
NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
[JPEGData writeToFile:targetPath atomically:YES];
}
所属していません StackOverflow