UIImage元数据

在我的应用程序,我从资产库中检索UIImage,这个图像有元数据。 该应用程序然后resize和旋转图像,从而创build一个新的形象。 新图像没有预期的原始元数据,但是如何在上载之前将元数据添加回图像?

提前致谢!

修正它我自己,这里是一个方法,我只是在任何人都想知道如何做到这一点! 🙂

-(UIImage *)addMetaData:(UIImage *)image { NSData *jpeg = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0)]; CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)jpeg, NULL); NSDictionary *metadata = [[asset_ defaultRepresentation] metadata]; NSMutableDictionary *metadataAsMutable = [metadata mutableCopy]; NSMutableDictionary *EXIFDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyExifDictionary]; NSMutableDictionary *GPSDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyGPSDictionary]; NSMutableDictionary *TIFFDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyTIFFDictionary]; NSMutableDictionary *RAWDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyRawDictionary]; NSMutableDictionary *JPEGDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyJFIFDictionary]; NSMutableDictionary *GIFDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyGIFDictionary]; if(!EXIFDictionary) { EXIFDictionary = [NSMutableDictionary dictionary]; } if(!GPSDictionary) { GPSDictionary = [NSMutableDictionary dictionary]; } if (!TIFFDictionary) { TIFFDictionary = [NSMutableDictionary dictionary]; } if (!RAWDictionary) { RAWDictionary = [NSMutableDictionary dictionary]; } if (!JPEGDictionary) { JPEGDictionary = [NSMutableDictionary dictionary]; } if (!GIFDictionary) { GIFDictionary = [NSMutableDictionary dictionary]; } [metadataAsMutable setObject:EXIFDictionary forKey:(NSString *)kCGImagePropertyExifDictionary]; [metadataAsMutable setObject:GPSDictionary forKey:(NSString *)kCGImagePropertyGPSDictionary]; [metadataAsMutable setObject:TIFFDictionary forKey:(NSString *)kCGImagePropertyTIFFDictionary]; [metadataAsMutable setObject:RAWDictionary forKey:(NSString *)kCGImagePropertyRawDictionary]; [metadataAsMutable setObject:JPEGDictionary forKey:(NSString *)kCGImagePropertyJFIFDictionary]; [metadataAsMutable setObject:GIFDictionary forKey:(NSString *)kCGImagePropertyGIFDictionary]; CFStringRef UTI = CGImageSourceGetType(source); NSMutableData *dest_data = [NSMutableData data]; CGImageDestinationRef destination = CGImageDestinationCreateWithData((__bridge CFMutableDataRef)dest_data,UTI,1,NULL); //CGImageDestinationRef hello; CGImageDestinationAddImageFromSource(destination,source,0, (__bridge CFDictionaryRef) metadataAsMutable); BOOL success = NO; success = CGImageDestinationFinalize(destination); if(!success) { } dataToUpload_ = dest_data; CFRelease(destination); CFRelease(source); return image; } 

看看这个答案。 我认为这会使你指向正确的方向。

在应用中创build的电子邮件jpg包括元数据

在这里你去Git中心项目和一些教程链接添加元数据到iOS图像的简单方法 , 从 iOS上的图像 获取元数据 。 最好的祝福 ;)