Come si eliminano tutti i dati exif in una UIImage utilizzando l'obiettivo-c? Sono stato in grado di ottenere i dati exif utilizzando la seguente:Eliminazione di tutti i dati Exif in Objective-C
NSData* pngData = UIImagePNGRepresentation(image);
CGImageSourceRef imageSource = CGImageSourceCreateWithData((CFDataRef)pngData, NULL);
NSDictionary* dic = nil;
if (NULL == imageSource)
{
#ifdef _DEBUG
CGImageSourceStatus status = CGImageSourceGetStatus (source);
NSLog (@"Error: file name : %@ - Status: %d", file, status);
#endif
}
else
{
CFDictionaryRef propertyRef = CGImageSourceCopyPropertiesAtIndex (imageSource, 0, NULL);
CGImageMetadataRef metadataRef = CGImageSourceCopyMetadataAtIndex (imageSource, 0, NULL);
// CFDictionaryRef metadataRef = CFDictionaryGetValue(imageProperties, kCGImagePropertyExifDictionary);
if (metadataRef) {
NSDictionary* immutableMetadata = (NSDictionary *)metadataRef;
if (immutableMetadata) {
dic = [ NSDictionary dictionaryWithDictionary : (NSDictionary *)metadataRef ];
}
CFRelease (metadataRef);
}
CFRelease(imageSource);
imageSource = nil;
}
return dic;
Grazie per la risposta, è aiuto pieno. Ma dopo aver rimosso EXIF e GPS con CGImage, i dati dell'immagine vengono compressi mentre salvataggio UIImage di "writeImageToSavedPhotosAlbum". Se aggiungo "kCGImageDestinationLossyCompressionQuality" come 1.0 a "removeExifProperties", l'immagine di output diventa più grande dei dati originali. Hai qualche suggerimento per mantenere i dati delle immagini come originali ma spoglia alcuni metadati come EXIF e GPS? –