加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 使用CGImageProperties获取EXIF属性

发布时间:2020-12-14 19:21:51 所属栏目:百科 来源:网络整理
导读:我希望能够在JPEG的元数据中添加文本注释,并能够从 iphone应用程序中读取它. 我认为这很简单,因为ios4包含对EXIF信息的支持.所以我使用一个名为used AnalogExif的Windows工具添加元数据,并使用以下方法从我的应用程序中读回: NSData *jpeg = UIImageJPEGRep
我希望能够在JPEG的元数据中添加文本注释,并能够从 iphone应用程序中读取它.

我认为这很简单,因为ios4包含对EXIF信息的支持.所以我使用一个名为used AnalogExif的Windows工具添加元数据,并使用以下方法从我的应用程序中读回:

NSData *jpeg = UIImageJPEGRepresentation(myUIImage,1.0);

CGImageSourceRef  source = CGImageSourceCreateWithData((CFDataRef)jpeg,NULL);
NSDictionary *metadata = (NSDictionary *) CGImageSourceCopyPropertiesAtIndex(source,NULL);

NSMutableDictionary *metadataAsMutable = [[metadata mutableCopy]autorelease];
[metadata release];

NSMutableDictionary *EXIFDictionary = [[[metadataAsMutable objectForKey:(NSString *)kCGImagePropertyExifDictionary]

这有用……到了一点:)

我在元数据字典中得到的是:

(gdb) po metadata
{
   ColorModel = RGB;
   Depth = 8;
   Orientation = 1;
   PixelHeight = 390;
   PixelWidth = 380;
   "{Exif}" =     {
      ColorSpace = 1;
      PixelXDimension = 380;
      PixelYDimension = 390;
   };
   "{JFIF}" =     {
      DensityUnit = 0;
      JFIFVersion = (
        1,1
      );
      XDensity = 1;
      YDensity = 1;
   };
   "{TIFF}" =     {
      Orientation = 1;
   };
}

但这就是我所能得到的!我用我能找到的每个EXIF编辑器编辑了JPEG文件(我应该说是主要的PC编辑器),尽管他们都说我添加了JPEG注释和EXIF字幕和关键字,但Apple SDK中似乎没有提供任何信息.在我的应用程序中

有没有人设法在jpeg的元数据中设置文本字段并设法从iphone应用程序中读取它?

如果可能的话,我不想使用第三方库

提前谢谢了

解决方法

你认为iOS支持的元数据比你所看到的更多,这是正确的.您可能在创建UIImage时丢失了数据,然后将其转换回JPEG.尝试NSData * jpeg = [NSData dataWithContentsOfFile:@“foo.jpg”]你应该看到EXIF.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读