injector - ¿Cuál es la mejor biblioteca EXIF para.Net?
exif facebook 360 (7)
Me gusta la DotImage Photo de Atalasoft , pero es una solución de código cerrado y cuesta aproximadamente 600 por licencia de desarrollador.
También puede consultar DTools en Codeplex , que es un marco de código abierto diseñado para complementar el Fx estándar. Incluye algunas clases relacionadas con Exif.
Estoy buscando una solución sencilla y directa para acceder a la información EXIF de imágenes JPEG en .Net. ¿Alguien tiene experiencia con esto?
el que he guardado en feeddemon para ver más cuando tengo tiempo (¿cuándo es eso para un programador? LOL) está debajo
ExifTagCollection - EXIF biblioteca de extracción de metadatos
Micro
Mira este extractor de metadatos . Está escrito en Java pero también ha sido portado a C #. He utilizado la versión de Java para escribir una pequeña utilidad para cambiar el nombre de mis archivos jpeg en función de las etiquetas de fecha y modelo. Muy fácil de usar
Hace varios años, comencé una pequeña aplicación JPEG EXIF con Omar Shahine para trabajar en archivos JPEG EXIF, llamado JpegHammer.
Extrajo de ese proyecto una biblioteca y lo llamó PhotoLibrary, era un contenedor .NET fácil para las etiquetas EXIF 2.2. Desafortunadamente, el sitio GotDotNet se ha ido, CodePlex no lo tiene, los enlaces del sitio web de Omar no funcionan y ya no tengo una copia.
Pero, si puedes investigar en Google, tal vez lo encuentres y te servirá.
Si compila contra la v3 del Framework (o posterior), puede cargar las imágenes utilizando la clase BitmapSource
, que expone los metadatos EXIF a través de la propiedad Metadata
Una biblioteca nueva y muy rápida es ExifLib - Un Extractor de Datos Exif Rápido para .NET 2.0 de Simon McKenzie. Terminé usando este y el código es fácil de usar y entender. Lo usé para que una aplicación cambiara de nombre según la fecha tomada. Me pregunto cuántas veces se ha escrito una aplicación así.
Mi consejo: asegúrese de llamar a Dispose en los objetos ExifReader una vez que haya terminado con ellos o los archivos permanezcan abiertos.
Si está dispuesto a usar una biblioteca de código abierto, ¿puedo sugerir humildemente una de mi propia creación?
El proyecto metadata-extractor ha estado vivo y bien desde 2002 para Java, y ahora está disponible para .NET.
- Código abierto (Apache 2.0)
- Muy probado y ampliamente utilizado
- Admite muchos tipos de imágenes (JPEG, TIFF, PNG, WebP, GIF, BMP, ICO, PCX ...)
- Admite muchos tipos de metadatos (Exif, IPTC, XMP, JFIF, ...)
- Admite muchos campos específicos del fabricante (Canon, Nikon, ...)
- Muy rápido (procesa completamente ~ 400 imágenes con un total de 1.33GB en ~ 3 segundos) con bajo consumo de memoria
- Crea para .NET 3.5, .NET 4.0+ y PCL
Está disponible a través de NuGet o GitHub .
Uso de muestra:
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}");