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
}
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
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
Une mise à jour? Je rencontre le même problème. –