Sto cercando di salvare un oggetto UIImage
a un file .jpeg in un dispositivo di e sto usando questo codice:di file .jpeg Perché salvataggio tramite WriteToFile utilizzando il metodo UIImageJPEGRepresentation hanno grandi dimensioni quindi 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;
}
}
Verrà salvata l'immagine del tipo .jpeg ma sarà necessaria una quantità eccessiva di memoria rispetto al metodo UIImageWriteToSavedPhotosAlbum(mimage,nil,nil,nil)
, che salva lo stesso oggetto immagine nel tipo .jpeg e nella stessa qualità.
La mia domanda è perché così .. ??
"La stessa qualità" è soggettiva, hai provato a ridurre gradualmente il parametro di qualità dell'immagine fino a quando le dimensioni sono circa uguali e la qualità è ancora "uguale"? –
@ A-Live quando diminuisco il parametro di qualità dell'immagine anche le dimensioni diminuiscono e anche la qualità. ma voglio salvare l'immagine come fa questo metodo UIImageWriteToSavedPhotosAlbum (mimage, nil, nil, nil). Come posso raggiungere questo obiettivo..?? – Sushobhit
Facile, usa UIImageWriteToSavedPhotosAlbum. –