2011-09-28 14 views
5

JPEGのメタデータにテキストコメントを追加し、iphoneアプリからテキストコメントを読み込めるようにします。CGImagePropertiesを使用してEXIFプロパティを取得する

ios4にはEXIF情報のサポートが含まれているため、これはかなり簡単だと思いました。

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] 

をそして、それが動作する...ポイントに:)

私は戻って、メタデータ・ディクショナリに何を得る:だから私はAnalogExifを使用して戻って私のアプリからそれを読んで使用したというWindowsのツールを使用してメタデータを追加しました次のようなものです:

(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ファイルを編集しました(ほとんどの場合は私が言うべきです)。そして、彼らはすべてJPEGのコメントとEXIFのキャプションとキーワードを追加したと言いますが、その情報はApple SDK私のアプリで。

誰かがjpegのメタデータにテキストフィールドを設定し、iphoneアプリからそれを読み戻すことができましたか?

私はあなたがiOSのは、あなたが見ているものよりも多くのメタデータをサポートしていないことを考えで正しいですすべての可能

であれば、サードパーティのライブラリを使用するために、事前

答えて

4

で多くの感謝をしたくありませんでした。 UIImageを作成してからJPEGに変換したときにデータが失われた可能性があります。試してくださいNSData *jpeg = [NSData dataWithContentsOfFile:@"foo.jpg"]し、EXIFが表示されます。

関連する問題