簡體   English   中英

使用CGImageProperties獲取EXIF屬性

[英]Using CGImageProperties to get EXIF properties

我希望能夠在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編輯器編輯了JPEG文件(我應該說是主要的PC編輯器),盡管他們都說我添加了JPEG注釋和EXIF字幕和關鍵字,但Apple SDK中似乎沒有提供任何信息。在我的應用程序中

有沒有人設法在jpeg的元數據中設置文本字段並設法從iphone應用程序中讀取它?

如果可能的話,我不想使用第三方庫

提前謝謝了

你認為iOS支持的元數據比你所看到的更多,這是正確的。 您可能在創建UIImage時丟失了數據,然后將其轉換回JPEG。 嘗試NSData *jpeg = [NSData dataWithContentsOfFile:@"foo.jpg"]你應該看到EXIF。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM