Почему файл.jpeg сохраняется через writetofile, используя метод UIImageJPEGRepresentation, имеет больший размер, чем UIImageWriteToSavedPhotosAlbum в ios

Я пытаюсь спасти UIImage возражать против файла.jpeg на устройстве, и я использую этот код:

-(void)saveImageToDocumentsDirectory:(UIImage *)mimage withFileName:(NSString *)fileName 
{
    UIImageWriteToSavedPhotosAlbum(mimage,nil,nil,nil);
    NSData *dataForJPEGFile = UIImageJPEGRepresentation(mimage, 1.0);
    NSError *error2 = nil;
    if (![dataForJPEGFile writeToFile:[self getDirectoryFilePath:fileName] options:NSAtomicWrite error:&error2])
    {
        return;
    }
}

Это сохранит изображение типа.jpeg, но займет слишком много памяти по сравнению с UIImageWriteToSavedPhotosAlbum(mimage,nil,nil,nil) метод, который сохраняет тот же объект изображения в формате.jpeg и с тем же качеством.

У меня вопрос почему так..??

1 ответ

Вы устанавливаете очень высокое качество (1,0), я думаю, 0,6 или 0,7 будет более чем достаточно для файлов JPEG, когда я читаю где-то.

NSData *dataForJPEGFile = UIImageJPEGRepresentation(mimage, 0.65);

Может быть, вы можете найти подходящее качество в зависимости от использования вашего приложения, для меня иногда 0,5 более чем достаточно.

Другие вопросы по тегам