Desidero estrarre l'immagine utilizzando ALAssetsLibrary e ALAsset direttamente nella forma di un oggetto NSData.Utilizzo di ALAssetsLibrary e ALAsset estrarre Immagine come NSData
Utilizzo di un NSURL Estrarre l'immagine nel modo seguente.
NSURL *referenceURL =newURL;
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:referenceURL resultBlock:^(ALAsset *asset)
{
UIImage *copyOfOriginalImage = [UIImage imageWithCGImage:[[asset defaultRepresentation] fullResolutionImage]];
}
Ora qui prendiamo l'immagine come UIImage, ma ho bisogno di prendere l'immagine direttamente come NSData.
Desidero farlo perché (ho letto che) una volta scattata l'immagine in UIImage, perdiamo tutti i dettagli EXIF dell'immagine.
Questo è il motivo che voglio estrarre l'immagine direttamente come NSData, invece di fare questo
NSData *webUploadData=UIImageJPEGRepresentation(copyOfOriginalImage, 0.5);
Questo passaggio mi fa perdere tutti i dettagli EXIF.
Si prega di aiuto.
Grazie per la vostra meravigliosa suggestione. Ma, c'è un modo per comprimere l'immagine? Prima di usarlo come NSData. –
Se ho capito bene, l'immagine sarà già compressa. La presentazione predefinita sarà probabilmente un file jpeg o png – HeikoG
Ho un problema con questa tecnica mentre importando più ALAssets allo stesso tim, sembra che il buffer venga riutilizzato per il prossimo elemento. –