Deseo extraer la imagen utilizando ALAssetsLibrary y ALAsset directamente en forma de un objeto NSData.Utilizando ALAssetsLibrary y ALAsset take Image como NSData
Uso de un NSURL Saco la imagen de la siguiente manera.
NSURL *referenceURL =newURL;
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:referenceURL resultBlock:^(ALAsset *asset)
{
UIImage *copyOfOriginalImage = [UIImage imageWithCGImage:[[asset defaultRepresentation] fullResolutionImage]];
}
Ahora aquí tomamos la imagen como un UIImage, pero necesito tomar la imagen directamente como NSData.
Deseo hacer esto porque (he leído eso) una vez que tomas la imagen en UIImage, entonces perdemos todos los detalles EXIF de la Imagen.
Esa es la razón por la que desea extraer la imagen directamente como NSData, en lugar de hacer esto
NSData *webUploadData=UIImageJPEGRepresentation(copyOfOriginalImage, 0.5);
Este paso me hace perder todos los datos EXIF.
Por favor ayuda.
Gracias por su maravillosa sugerencia. Pero, ¿hay alguna manera de comprimir la imagen? Antes de usarlo como NSData. –
Si entiendo bien, la imagen ya estará comprimida. La presentación por defecto probablemente sea un jpeg o png – HeikoG
tengo un problema con esta técnica al importar múltiples ALAssets al mismo tiempo, parece como si el buffer se reutilizara para el próximo artículo. –