конвертировать ciimage в записываемый формат - PullRequest
1 голос
/ 29 ноября 2011

Мне нужно преобразовать CIImage в формат, который может быть записан на диск.

В настоящее время я использую следующий код для преобразования его в формат JPG.

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

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

Но реальное использование памяти превышает 100 МБ.Мое приложение требует от меня обработки большого количества изображений, поэтому мне нужно оптимизировать использование памяти.

Может кто-нибудь предложить что-нибудь ???

1 Ответ

0 голосов
/ 29 ноября 2011

Если проблема связана с накопительной памятью, а не только с одним изображением, вы можете попробовать обернуть две последние строки в свой пул автоматического выпуска:

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