我希望能够在JPEG的元数据中添加文本注释,并能够从iPhone应用程序中读取它。
我认为这应该很简单,因为ios4支持EXIF信息。因此,我使用一个名为AnalogExif的Windows工具添加了元数据,并使用以下方法从我的应用程序中读取:
NSData *jpeg = UIImageJPEGRepresentation(myUIImage,1.0);
CGImageSourceRef source = CGImageSourceCreateWithData((CFDataRef)jpeg, NULL);
NSDictionary *metadata = (NSDictionary *) CGImageSourceCopyPropertiesAtIndex(source,0,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编辑器(主要是PC上的),虽然它们都说我已经添加了JPEG注释和EXIF标题和关键字,但在我的应用程序中似乎没有任何信息可用于苹果SDK。
有人成功将文本字段设置为JPEG元数据并设法从iPhone应用程序中读取吗?
如果可能的话,我不想使用第三方库。
非常感谢您的帮助。