0

私は、iPhoneでキャプチャした画像からExifメタデータ情報にアクセスする方法を理解できるかどうかを調べています。アップルのドキュメントには、私が探している必要な情報が不足しているようです。私はおそらくこれについて愚かなことをしているでしょうが、私はiPhoneプログラミングとobjective-cに比較的慣れていないので、まだすべてを理解しています。


- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

//EXPERIMENTATION
NSDictionary *metadata = [info objectForKey:UIImagePickerControllerMediaMetadata];
NSArray *metaDataKeys = [metadata allKeys];

for (NSUInteger i=0; i  [metaDataKeys count]; i++)
{
    NSLog(@"%@", [metaDataKeys objectAtIndex:i]);
}  

このコードは次の出力を生成します:
2010-10-21 14:42:56.354 _ [3607:307] DPIHeight
2010-10-21 14:42:56.355 _ [3607:307] {Exif}
2010-10-21 14: 42:56.356 _ [3607:307] DPIWidth
2010-10-21 14:42:56.357 _ [3607:307]オリエンテーション
2010-10-21 14:42 :56.358 _ [ 3607:307] {TIFF}

'{Exif}'は何を示していますか?キーは文字通り文字列「{Exif}」ですか?そのキーでオブジェクトを抽出しようとすると、NULLを受け取るので、私はノーと推測しています。そして、私が最終的にこのNSDictionaryからExifタグを取得したときに、Exifタグがどのタイプになるかを誰かが知っていますか?Exifタグの操作方法を学ぶのに役立つドキュメントはどこかにありますか?ありがとう!

4

2 に答える 2

3

EXIF=交換可能な画像ファイル形式

http://en.wikipedia.org/wiki/Exchangeable_image_file_format

于 2010-10-21T22:36:47.250 に答える
1

辞書を直接記録できます。

NSLog(@"metadata : %@", metadata);

これは、あなたのようにキーをリストするよりも簡単(そしてより良い)であり、それらの内容も表示します!

Metadata {
    ColorModel = RGB;
    DPIHeight = 72;
    DPIWidth = 72;
    Depth = 8;
    Orientation = 6;
    PixelHeight = 55;
    PixelWidth = 116;
    "{Exif}" =     {
        ColorSpace = 1;
        ComponentsConfiguration =         (
            1,
            2,
            3,
            0
        );
        ExifVersion =         (
            2,
            2,
            1
        );
        FlashPixVersion =         (
            1,
            0
        );
        PixelXDimension = 55;
        PixelYDimension = 116;
        SceneCaptureType = 0;
    };
    "{TIFF}" =     {
        Orientation = 6;
        ResolutionUnit = 2;
        XResolution = 72;
        YResolution = 72;
        "_YCbCrPositioning" = 1;
    };
}
于 2010-12-14T15:22:05.637 に答える