Ich versuche, ein UIImage
Objekt in eine JPEG-Datei in Gerät zu speichern und ich bin mit diesem Code:Warum JPEG-Datei speichern über WriteToFile mit UIImageJPEGRepresentation Methode haben große Größe dann UIImageWriteToSavedPhotosAlbum in ios
-(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;
}
}
Es speichert das Bild des .jpeg-Typs, aber nimmt zu viel Speicher wie im Vergleich zu der UIImageWriteToSavedPhotosAlbum(mimage,nil,nil,nil)
Methode, die das gleiche Bildobjekt in .jpeg Typ und gleicher Qualität speichert.
Meine Frage ist warum so ??
"Gleiche Qualität" ist subjektiv, haben Sie versucht, den Bildqualitätsparameter schrittweise zu verringern, bis die Größen in etwa gleich sind und die Qualität immer noch "gleich" ist? –
@ A-Live, wenn ich den Bildqualitätsparameter verringere, verringert sich auch die Größe und Qualität. aber ich möchte das Bild speichern, wie diese Methode UIImageWriteToSavedPhotosAlbum (mimage, nil, nil, nil) tut. wie kann ich das erreichen .. ?? – Sushobhit
Einfach, verwenden Sie UIImageWriteToSavedPhotosAlbum. –