2012-01-09 3 views
0

Я хочу получить exif с картинки. как я делаю это оптимально?Как получить exif с фото?

NSData *dataOfImageFromGallery = UIImageJPEGRepresentation (workingImage,0.5); 

CGImageSourceRef imageSource; 
imageSource = CGImageSourceCreateWithData((__bridge CFDataRef)dataOfImageFromGallery, NULL); 

if (imageSource == NULL) { 
    // Error loading image ... 
    return; } 

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:NO], (NSString *)kCGImageSourceShouldCache, nil]; 
CFDictionaryRef imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, (__bridge CFDictionaryRef)options); 

if (imageProperties) { 
    NSNumber *width = (__bridge NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelWidth); 
    NSNumber *height = (__bridge NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelHeight); 

    CFRelease(imageProperties); 

    NSLog(@"width: %@", width); 
    NSLog(@"height: %@", height); 
} 

это печать width и height но свойства EXIF ​​составляет около 40 в CGImageProperties.h в ImageIO.h библиотечный файл, и я не знаю, как печатать все сразу.

ответ

2

Использование ExifTool, мой simple project на основе ExifTool

+0

Я не понимаю. Я должен написать эту функцию. вы даете мне свое приложение. –

+0

извините, мой проект основан на exiftool http://owl.phy.queensu.ca/~phil/exiftool/ – SAKrisT

0

Если вы ориентируетесь IOS 4 и выше, вы должны использовать ALAssetsLibrary. Здесь много потоков, которые описывают ALAssetsLibrary и как получить данные EXIF ​​из изображения.

Имейте в виду, хотя, если пользователь не разрешает услуг определения местоположения для APP ALAssetsLibrary не будет работать, и сообщит об ошибке (доступ запрещен)

0

Если все, что вам нужно сделать, это войти в полное содержание imageProperties словарь, а затем просто сделать:

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

Если это не то, что вы ищете, пожалуйста, уточнить ваш вопрос.

Смежные вопросы