我希望能够向 JPEG 的元数据添加文本注释,并能够从 iphone 应用程序中读取它。
我认为这会相当简单,因为 ios4 包含对 EXIF 信息的支持。因此,我使用名为 used 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 文件,尽管他们都说我添加了 JPEG 注释和 EXIF 标题和关键字,但 Apple SDK 似乎没有提供这些信息在我的应用程序中。
有没有人设法在 jpeg 的元数据中设置一个文本字段并设法从 iphone 应用程序中读取它?
如果可能的话,我不想使用第三方库
提前谢谢了