有没有办法在iOS中读取PNG注释而无需进行手动数据解析?我有PNG文件存储我想要在将它们加载到UIImage对象时访问的元数据,但我找不到任何简单的方法来执行此操作。
答案 0 :(得分:2)
似乎没有任何简单的方法可以做到;例如,我没有在list of properties available from a CGImageSource中看到它。肯定没有办法从UIImage中做到这一点,该类没有(公开)保留超出EXIF方向标志的任何元数据,并且只有这样代码才能在读取时旋转图像。
幸运的是,PNG是well-documented并且很容易解析,所以提取zTXt块应该不是什么大问题。
答案 1 :(得分: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);
希望这会有所帮助,不确定你所寻找的是否在那里