kCGImagePropertyIPTCKeywords проблема - PullRequest
3 голосов
/ 09 июня 2010

Я разрабатываю приложение для iPhone, в котором я хочу установить ключевые слова для изображения с помощью каркаса ImageIO.

Ниже приведен фрагмент кода, который я использую для настройки ключевых слов. Проблема в том, что он не применяет ключевые слова к метаданным изображения. Может ли кто-нибудь помочь мне найти проблему здесь?

NSMutableDictionary *iptcDictionary = [NSDictionary dictionaryWithObject: [NSArray arrayWithObject: @"Test"] 
    forKey:(NSString *)kCGImagePropertyIPTCKeywords];

NSDictionary *newImageProperties = [NSDictionary dictionaryWithObject:iptcDictionary 
    forKey:(NSString *)kCGImagePropertyIPTCDictionary];

CGImageSourceRef imageSource=CGImageSourceCreateWithURL((CFURLRef)imageURL, nil);  //imageURL is URL of source image

CGImageDestinationRef imageDestination = CGImageDestinationCreateWithData(    
    (CFMutableDataRef)newImageFileData, CGImageSourceGetType(imageSource), 1,NULL);

CGImageDestinationAddImageFromSource(imageDestination, imageSource, 0, 
    (CFDictionaryRef) newImageProperties);

if (CGImageDestinationFinalize(imageDestination)) {
    [newImageFileData writeToFile:imagePath atomically:YES]; //imagePath is the path of the destination image with new metadata
}

1 Ответ

0 голосов
/ 17 июля 2010

С той же проблемой здесь. Я могу отредактировать GPSDictionary наверняка, я думаю, что я могу редактировать словарь Exif, но я не могу редактировать IPTCDictionary. Я вижу все ключи IPTCDictionary в моем последнем изменяемом словаре и в основном переписываю файл так же, как вы. Но ключ для IPTCDictionary не написан.

Может быть, настало время для rdar? Я сделаю еще несколько тестов и запишу мой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...