Сохранение / получение JPEG из пользовательской галереи без повторного сжатия

Я пытаюсь найти способ читать и записывать изображения в формате JPEG в пользовательскую галерею (фотоаппарат) без повторного сжатия iOS. UIImage кажется узким местом здесь. Единственный способ сохранения в пользовательской галерее, который я нашел, - это UIImageWriteToSavedPhotosAlbum (). Это можно обойти?

На данный момент моя рутина выглядит так

–Просите UIImagePickerController для фотографии. И когда он сделал FinishPickingMediaWithInfo, сделайте:

NSData *imgdata = [NSData dataWithData:UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1)];
[imgdata writeToFile:filePath atomically:NO];

- Обрабатывать JPEG без потерь на диске.

- Затем сохраните его обратно:

UIImageWriteToSavedPhotosAlbum([UIImage imageWithContentsOfFile:[self getImagePath]], self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

Вот небольшая анимация того, как выглядит ухудшение качества после 3 проходов:

Очевидно, что с каждым разом становится все хуже, но я не смог автоматизировать процесс выбора изображения, чтобы полностью проверить его на 50/100/1000 циклов.

Ответы на вопрос(1)

Ваш ответ на вопрос