0


0

[NSArray objectAtIndex:]から「{Exif}」が示すこと

私は、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タグの使用方法を学習するのに役立つドキュメントはどこにもありますか? ありがとうございます。

2 Answer


3


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


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;
    };
}