0

我在 JPEG 图像的 EXIF 标头的 UserComment 字段中有一些重要的元数据信息。我正在尝试使用

NSData* jpgData = UIImageJPEGRepresentation(uiImage, 1.0);

CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)jpgData, NULL);
NSDictionary *metadata = (__bridge NSDictionary *) CGImageSourceCopyPropertiesAtIndex(source, 0, NULL);

NSDictionary *img_metadata = [metadata objectForKey:(NSString*)kCGImagePropertyExifDictionary];

NSString* user_comment = [img_metadata objectForKey:(NSString*)kCGImagePropertyExifUserComment];

但是,我得到的 img_metadata 字典不再包含用户评论,即使它还有其他字段,例如颜色空间和图像尺寸?有没有办法从 UIImage 对象中获取用户评论?

4

1 回答 1

8

UIImage表示解码的图像,并丢弃元数据。重新编码的数据(在您的情况下为 UIImageJPEGRepresentation)仍将包含诸如色彩空间、图像大小和方向等信息,因为在编码/解码操作期间可能需要这些信息。

获取元数据的唯一方法是使用原始图像数据,无法从UIImage.

于 2013-05-20T17:29:49.783 回答