Sto cercando di trovare un modo per leggere e scrivere immagini JPEG nella galleria utente (rullino fotografico) senza ricomprimerlo da iOS. UIImage sembra essere il collo di bottiglia qui. L'unico metodo per salvare nella galleria utente che ho trovato è UIImageWriteToSavedPhotosAlbum(). C'è un modo per aggirare questo?Salvataggio/recupero di JPEG dalla galleria utente senza ricompressione
Per ora la mia routine assomiglia a questo
-Chiedere UIImagePickerController una foto. E quando didFinishPickingMediaWithInfo, fare:
NSData *imgdata = [NSData dataWithData:UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1)];
[imgdata writeToFile:filePath atomically:NO];
-Process JPEG senza perdita di qualità su disco.
-Allora salvarlo di nuovo:
UIImageWriteToSavedPhotosAlbum([UIImage imageWithContentsOfFile:[self getImagePath]], self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
Ecco una piccola animazione di ciò che il degrado della qualità assomiglia dopo 3 passaggi:
C'è di peggio, ovviamente, ogni volta che faccio questo , ma non ho potuto automatizzare la parte di selezione delle immagini per testarla completamente per 50/100/1000 cicli.
Sì, grazie, ho già scoperto il trucco con AssetsLibrary. Spero che la tua risposta sarà utile per gli altri. – Kai