2011-04-17 14 views
1

有没有办法在没有手动数据解析的情况下阅读iOS中的PNG评论?我有PNG文件存储我想要访问的元数据,当我将它们加载到UIImage对象时,但我一直无法找到任何简单的方法来做到这一点。阅读PNG评论(未压缩的zTXt数据)

回答

2

似乎没有任何简单的方法来做到这一点;例如,我没有看到它在list of properties available from a CGImageSource中提到过。当然,没有办法从UIImage中做到这一点,该类没有(公开)保存EXIF方向标志之外的任何元数据,只有当代码阅读时代码不需要旋转图像。

幸运的是PNG是well-documented并且很容易解析,所以提取zTXt块应该不是什么大问题。

2

无需编写自己的数据解析器,您可以“轻松”获取的任何数据都将位于图像属性字典中。

UIImage* image; // assuming this exists 
NSData* pngData = UIImagePNGRepresentation(image); 

CGImageSourceRef imgSrc = CGImageSourceCreateWithData(pngData,NULL); 
CFDictionaryRef imgSrcProps = CGImageSourceCopyProperties(imgSrc,NULL); 

NSDictionary* imgSrcPropDict = (NSDictionary*)imgSrcProps; 
NSLog(@"image properties: %@", imgSrcPropDict); 

CFRelease(imgSrcProps); 
CFRelease(imgSrc); 

希望这有助于,不知道是否是在那里

你正在寻找