Почему файл.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 более чем достаточно.