我认为这很简单,因为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应用程序中读取它?
如果可能的话,我不想使用第三方库
提前谢谢了
解决方法@H_403_33@ 你认为iOS支持的元数据比你所看到的更多,这是正确的.您可能在创建UIImage时丢失了数据,然后将其转换回JPEG.尝试NSData * jpeg = [NSData dataWithContentsOffile:@“foo.jpg”]你应该看到EXIF. 总结以上是内存溢出为你收集整理的xcode – 使用CGImageProperties获取EXIF属性全部内容,希望文章能够帮你解决xcode – 使用CGImageProperties获取EXIF属性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)