J'ai écrit une application qui lit les données EXIF de base d'une image via les PropertyItems exposés dans la classe System.Drawing.Image de .Net. Cependant, je ne peux pas récupérer les données EXIF spécifiques à Canon via ces propriétés. Comment lit-on cette information? Je sais qu'il existe dans le fichier, comme Photoshop le lit.C# Récupérer des données EXIF spécifiques à Canon
Répondre
Il n'y a rien de construit dans le BCL qui aidera avec EXIF.
Regardez this SO question et les réponses (Quelle est la meilleure bibliothèque EXIF pour .Net?). Il existe plusieurs bibliothèques commerciales et open source que vous pouvez utiliser pour obtenir des données EXIF.
Si vous compilez sur la version 3 du Framework (ou plus tard), vous pouvez charger les images en utilisant le BitmapSource
class, qui expose les métadonnées EXIF via le Metadata
property. Cela donne une connexion beaucoup plus proche aux informations EXIF dans les images, bien que les notes du fabricant soient spécifiques et nécessitent un décodage supplémentaire.
Je l'ai trouvé il y a un certain temps mais je ne l'ai pas encore utilisé. Il semblait qu'il avait des informations spécifiques au fabricant.
http://renaud91.free.fr/MetaDataExtractor/
MISE À JOUR:
Le projet métadonnées extracteur a été bel et bien vivant depuis 2002 pour Java, et est maintenant disponible pour .NET. Il offre un support complet pour les makernotes de Canon ainsi que pour les caméras et scanners Agfa, Casio, Epson, Fujifilm, Kodak, Kyocera, Leica, Minolta, Nikon, Olympus, Panasonic, Pentax, Sanyo, Sigma/Foveon et Sony.
Vous pouvez parcourir l'exemple de sortie de plusieurs images de caméra Canon (et autres) ici.
La bibliothèque est disponible via NuGet ou GitHub.
Exemple d'utilisation:
IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
{
Console.Out.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
}
voir une réponse mise à jour ici: C# Retrieve Canon Specific EXIF Data
Si elles sont des fichiers RAW, vous pourriez try using dcraw.net pour obtenir les informations sur.
J'ai écrit un outil médico-légal il y a quelques mois en C# et j'ai utilisé le EXIF Tool de Phil Harvey pour obtenir les données EXIF à partir de photographies. Oui, c'est une bibliothèque PERL mais c'était vraiment facile à installer et à intégrer dans mon application C#.
Le projet d'extraction de métadonnées a été actif depuis 2002 pour Java et est maintenant disponible pour .NET. Il offre un support complet pour les makernotes de Canon ainsi que pour les caméras et scanners Agfa, Casio, Epson, Fujifilm, Kodak, Kyocera, Leica, Minolta, Nikon, Olympus, Panasonic, Pentax, Sanyo, Sigma/Foveon et Sony.
Vous pouvez parcourir l'exemple de sortie de plusieurs images de caméra Canon (et autres) here. La bibliothèque est disponible via NuGet ou GitHub.
Exemple d'utilisation:
IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
{
Console.Out.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
}
Notez que le répertoire lib dans Mark Redman's answer est un port obsolète de ma bibliothèque Java il y a plusieurs années. Je maintiens maintenant les deux projets C# et Java pour avoir la parité des fonctionnalités.
- 1. données exif non enregistrées
- 2. Données EXIF iPhone
- 3. Exif données de la miniature
- 4. Comment ajouter des données exif à une image?
- 5. Récupérer des données à partir de Aspnet_Profile
- 6. Récupérer des informations EXIF et des informations vidéo à partir d'images/films
- 7. Comment puis-je lire les données Lens et Creator Tool de EXIF par C#
- 8. Comment puis-je extraire des données EXIF à l'aide de PerlMagick?
- 9. Récupérer des données d'un microphone en C#
- 10. Chargement des fichiers Canon .CR2 dans .NET
- 11. Génériques C#, Contraindre à des structures spécifiques
- 12. Canon Image EDSDK MemoryStream
- 13. Comment modifier les données EXIF dans .NET
- 14. Stockage des informations EXIF dans la base de données
- 15. Données spécifiques à la classe
- 16. Comment récupérer uniquement des colonnes spécifiques d'une table dans django?
- 17. Comment extraire des données spécifiques avec preg_match?
- 18. C# comment récupérer les données
- 19. Récupérer des données inchangées
- 20. Prendre des photos à partir de Windows C# Canon SDK vs PTP ou MTP
- 21. Exemple de code C pour Canon EDSDK Liveview?
- 22. Comment récupérer des attributs spécifiques d'une relation/collection?
- 23. Puis-je obtenir des données IPTC et EXIF à partir d'une image en utilisant imageMagick?
- 24. Aide avec le script DOS (récupérer des données spécifiques d'un fichier)
- 25. Fichiers Exif et iPhone
- 26. Récupération d'images de l'appareil photo Canon à l'aide d'EDSDK 2.9
- 27. Get Exif information
- 28. Récupérer des données d'un NSDictionary
- 29. C# Comment récupérer des données Json dans un tableau
- 30. Récupérer des données d'un tableau?
Je peux vérifier que cela fonctionne à merveille! De nombreux fabricants stockent la plupart des données utiles d'Exif dans le champ «Makernote». Cet outil analyse tout cela dans un petit dictionnaire sympathique XML plein de balises Exif. – glenneroo
Ceci est un port obsolète de mon projet _metadata-extractor_. Je maintiens maintenant une version officielle de C# qui a plus de fonctionnalités et de nombreuses corrections de bugs. Voir [ma réponse] (http://stackoverflow.com/a/32771543/24874) pour plus d'informations. –