如何从 ALAsset 获取 exif 信息?

Posted

技术标签:

【中文标题】如何从 ALAsset 获取 exif 信息?【英文标题】:How to get exif information from ALAsset? 【发布时间】:2011-12-12 13:26:49 【问题描述】:

我需要从所选资产中获取 exif 信息并将其部分显示在屏幕上。

【问题讨论】:

【参考方案1】:
[[asset defaultRepresentation] metadata];

返回给定资产表示的元数据字典。查看这本字典以获取您感兴趣的数据。我不确定,但我认为该字典(和子字典)中的键与CGImageProperties Reference 下列出的键相同。

【讨论】:

谢谢,我将元数据加载到 nsdictionary,但不知道如何解析密钥。【参考方案2】:

这是一个完整的答案……都在一个地方

NSDictionary *nsd = [[asset3 defaultRepresentation] metadata];
    NSString *widthStr = [nsd objectForKey: @"PixelWidth"];
    NSString *heightStr = [nsd objectForKey: @"PixelHeight"];

    NSLog(@"nsd: %@ ... widthStr: %@ ... heightStr: %@ ...", nsd, widthStr, heightStr);

输出:

nsd: 
    ColorModel = RGB;
    DPIHeight = 72;
    DPIWidth = 72;
    Depth = 8;
    Orientation = 1;
    PixelHeight = 1136;
    PixelWidth = 642;
    "Exif" =     
        ColorSpace = 1;
        ComponentsConfiguration =         (
            1,
            2,
            3,
            0
        );
        ExifVersion =         (
            2,
            2,
            1
        );
        FlashPixVersion =         (
            1,
            0
        );
        PixelXDimension = 642;
        PixelYDimension = 1136;
        SceneCaptureType = 0;
    ;
    "TIFF" =     
        Orientation = 1;
        ResolutionUnit = 2;
        XResolution = 72;
        YResolution = 72;
    ;
 ... widthStr: 642 ... heightStr: 1136 ...

【讨论】:

以上是关于如何从 ALAsset 获取 exif 信息?的主要内容,如果未能解决你的问题,请参考以下文章

ALAsset 时间戳返回错误的日期

Swift如何修改从移动相机拍摄的图像中的exif信息

如何从 ALASSET ios 获取视频大小

Objective-C/ALAssetslibrary - 从图像 exif 信息中获取 gps 纬度

如何从 iOS 中的 ALAsset 获取视频的缩略图?

如何将视频从 ALAsset 显示到 UICollectionview ios