Je suis à la recherche d'une solution simple et directe pour accéder aux informations EXIF des images jpeg dans .Net. Est-ce que quelqu'un a de l'expérience avec ça?Quelle est la meilleure bibliothèque EXIF pour .Net?
Répondre
J'aime Atalasoft's DotImage Photo, mais c'est une solution de source fermée et coûte environ 600 par licence de développement.
Vous pouvez également consulter DTools at Codeplex, qui est un framework open source conçu pour compléter le standard Fx. Il inclut des classes liées à Exif.
celui que je l'ai enregistré dans FeedDemon pour moi de vérifier plus quand j'ai le temps (quand est-ce que pour un programmeur? LOL) est inférieure à
ExifTagCollection - EXIF Metadata extraction library
Mike
Vérifiez cette metadata extractor. Il est écrit en Java mais a également été porté en C#. J'ai utilisé la version Java pour écrire un petit utilitaire pour renommer mes fichiers jpeg en fonction des balises de date et de modèle. Très facile à utiliser.
Il y a plusieurs années, j'ai commencé une petite application JPEG EXIF avec Omar Shahine pour travailler sur des fichiers JPEG EXIF, appelés JpegHammer.
Il a extrait de ce projet une bibliothèque et l'a appelée PhotoLibrary, c'était un wrapper .NET facile pour les tags EXIF 2.2. Malheureusement, le site GotDotNet est parti, CodePlex ne l'a pas, les liens du site web d'Omar ne fonctionnent pas, et je n'en ai plus de copie. Mais, si vous pouvez fouiller dans Google, peut-être que vous le trouverez et il fera l'affaire pour vous.
Si vous compilez contre v3 du cadre (ou version ultérieure), vous pouvez charger les images à l'aide du BitmapSource
class, qui expose les métadonnées EXIF à travers le Metadata
property
Une bibliothèque nouvelle et très rapide est ExifLib - A Fast Exif Data Extractor for .NET 2.0 par Simon McKenzie. J'ai fini par utiliser celui-ci et le code est facile à utiliser et à comprendre. Je l'ai utilisé pour une application à renommer en fonction de la date prise. Je me demande combien de fois une telle application a été écrite.
Mon conseil: Assurez-vous d'appeler Dispose sur les objets ExifReader une fois que vous avez terminé avec eux ou que les fichiers restent ouverts.
Cela semble prometteur .. Merci – Odys
Si vous êtes prêt à utiliser une bibliothèque open-source, puis-je vous suggérer humblement une de mes propres créations?
Le projet d'extraction de métadonnées a été bien vivant depuis 2002 pour Java et est maintenant disponible pour .NET.
- Open Source (Apache 2.0)
- très testé et largement utilisé
- supporte de nombreux types d'images (JPEG, TIFF, PNG, WebP, GIF, BMP, ICO, PCX ...)
- Prise en charge de nombreux types de métadonnées (EXIF, IPTC, XMP, JFIF, ...)
- soutient de nombreux domaines spécifiques au fabricant (Canon, Nikon, ...)
- très rapide (processus entièrement 400 images totalisant ~ 1.33GB dans ~ 3 secondes) avec une faible consommation de mémoire
- Construit pour .NET 3.5, .NET 4.0+ et PCL
Il 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.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
Vive Dave. J'ai maintenant [porté cette bibliothèque à .NET] (http://stackoverflow.com/a/31329551/24874). –