Existe-t-il un moyen de lire les commentaires PNG dans iOS sans procéder à l'analyse manuelle des données? J'ai des fichiers PNG qui stockent les métadonnées auxquelles j'aimerais accéder lorsque je les charge dans un objet UIImage, mais je n'ai pas trouvé de moyen facile de le faire.Lecture de commentaires PNG (données zTXt non compressées)
Répondre
Il ne semble pas y avoir de moyen facile de le faire; Je ne le vois pas mentionné dans le list of properties available from a CGImageSource, par exemple. Et il n'y a certainement pas moyen de le faire à partir d'un UIImage, cette classe ne conserve (publiquement) aucune métadonnée au-delà de l'indicateur d'orientation EXIF, et cela seulement pour que le code ne tourne pas l'image en la lisant.
Heureusement que le format PNG est well-documented et très facile à analyser, l'extraction des fragments zTXt ne devrait donc pas poser de problème.
Toutes les données que vous pouvez obtenir "facilement" sans écrire votre propre analyseur de données vont être dans le dictionnaire des propriétés de l'image.
UIImage* image; // assuming this exists
NSData* pngData = UIImagePNGRepresentation(image);
CGImageSourceRef imgSrc = CGImageSourceCreateWithData(pngData,NULL);
CFDictionaryRef imgSrcProps = CGImageSourceCopyProperties(imgSrc,NULL);
NSDictionary* imgSrcPropDict = (NSDictionary*)imgSrcProps;
NSLog(@"image properties: %@", imgSrcPropDict);
CFRelease(imgSrcProps);
CFRelease(imgSrc);
Hope this helps, ne sais pas si ce que vous recherchez est là
- 1. Comment les données compressées sont-elles stockées dans le cache tampon, compressées ou non compressées?
- 2. Lecture à partir d'archives compressées
- 3. Java: comment lire des images non compressées
- 4. Envoi de données compressées via le socket
- 5. Comment traiter les données compressées en Java
- 6. Python PIL lecture PNG de STDIN
- 7. Problème de lecture de séquence d'images PNG
- 8. Stockage des données compressées dans un cookie
- 9. Gunicorn non desservi png
- 10. lecture PNG, JPEG dans l'Agent de base
- 11. Téléchargement de contenu URLOpenPullStream et gzip - besoin de données non compressées
- 12. Capture des données de l'appareil photo iPhone comme jamais compressées
- 13. Meilleur format d'image pour les textures non compressées?
- 14. peut réduire tâche accepter les données compressées dans hadoop
- 15. scala InputStreamReader lecture non données entières (fichier)
- 16. Foursquare Non Lecture des données hCard?
- 17. Largeur de lecture et hauteur de l'en-tête PNG
- 18. Importer des données compressées (lzo) de s3 vers la ruche
- 19. PNG non affiché dans IE6
- 20. Clés Crypto ++ et EC compressées
- 21. URL de données/PNG de UIImage
- 22. Erreur lors de la lecture de dimensions de l'image PNG
- 23. Utilisation de blocs dans un fichier PNG
- 24. données non gérées de lecture d'exception de Any Excel
- 25. Délai lors de la lecture de l'animation png
- 26. Recevoir des données compressées en utilisant Boost :: asio
- 27. Lire les données compressées par GZip dans le flux
- 28. Utilisation de BitMaps (fichiers PNG) dans XNA, System.drawing non disponible
- 29. Comment envoyer des données compressées (JSON) du client au serveur
- 30. Cassandra commentaires modèle de données