2010-06-09 13 views
2

Je développe une application iPhone dans laquelle je veux définir les mots-clés pour une image en utilisant le framework ImageIO.Problème kCGImagePropertyIPTCKeywords

Voici l'extrait de code que j'utilise pour définir les mots-clés. Le problème est qu'il n'applique pas les mots-clés aux métadonnées de l'image. Quelqu'un pourrait-il m'aider à trouver le problème ici?

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 
} 
+0

Je pensais que cela pourrait être utile pour identifier et résoudre le problème: Lorsque j'ai changé le type UTI en @ "public.tiff", je pouvais obtenir des balises ajoutées à l'image de destination. Mais, je veux que le type UTI de l'image de destination soit identique au type UTI de l'image source. Des solutions s'il vous plaît? – deepa

+0

J'ai observé une chose de plus. Le même code fonctionne pour l'application de bureau. Est-ce que quelqu'un sait quel est le problème avec la version iPhone du framework ImageIo? – deepa

+0

Une mise à jour? Je rencontre le même problème. –

Répondre

0

Ayant le même problème ici. Je peux éditer GPSDictionary à coup sûr, je pense que je peux éditer le dictionnaire Exif, mais je ne peux pas éditer le IPTCDictionary. Je vois toutes les clés du dictionnaire IPTCDictionary dans mon dictionnaire Mutable final, et je réécris fondamentalement le fichier de la même manière que vous. Mais la clé pour IPTCDictionary ne semble pas être écrite.

Peut-être qu'il est temps pour un rdar? Je vais faire d'autres tests et déposer le mien.

+0

En fait j'ai essayé d'éditer l'iptc d'un fichier où j'avais mis quelques mots-clés. Les mots-clés ont été supprimés. Déposé un rdar. –