Как да получа exif информация от ALAsset?

Трябва да получа информация за exif от избран актив и да покажа част от нея на екрана.


person B.S.    schedule 12.12.2011    source източник


Отговори (2)


[[asset defaultRepresentation] metadata];

връща речник от речници на метаданни за даденото представяне на актив. Разгледайте този речник за данните, които ви интересуват. Не съм сигурен, но мисля, че ключовете в този речник (и подречниците) са същите като тези, изброени под CGImageProperties Reference.

person Ole Begemann    schedule 12.12.2011
comment
Благодаря, зареждам метаданните в nsdictionary, но не знам как да анализирам ключовете. - person B.S.; 12.12.2011

Това е пълен отговор ... всичко на едно място

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 ...
person Sam B    schedule 04.03.2014