2008-09-03 8 views

Respuesta

4

Me gusta Atalasoft's DotImage Photo, pero es una solución de código cerrado y cuesta aproximadamente 600 por licencia de desarrollador.

También puede consultar DTools at Codeplex, que es un marco de código abierto diseñado para complementar el estándar Fx. Incluye algunas clases relacionadas con Exif.

2

Control hacia fuera este metadata extractor. 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

+0

Saludos de Dave. Ahora [porté esta biblioteca a .NET] (http://stackoverflow.com/a/31329551/24874). –

0

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. Lamentablemente, 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á.

6

Si estás compilando contra v3 del Marco (o posterior), entonces se puede cargar las imágenes utilizando el BitmapSource class, lo que expone a los metadatos EXIF ​​través de la Metadata property

5

Un nuevo y muy rápido por la biblioteca es ExifLib - A Fast Exif Data Extractor for .NET 2.0 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.

+0

Parece prometedor .. Gracias – Odys

3

Si está dispuesto a utilizar una biblioteca de código abierto, ¿puedo sugerir humildemente una de mi propia creación?

El metadata-extractor proyecto ha estado vivo y bien desde 2002 para Java, y ahora está disponible para .NET.

fuente
  • abierto (Apache 2.0)
  • probado en gran medida y ampliamente utilizado
  • es compatible con muchos tipos de imágenes (JPEG, TIFF, PNG, WebP, GIF, BMP, ICO, PCX ...)
  • Soporta muchos tipos de metadatos (EXIF, IPTC, XMP, JFIF, ...)
  • soporta varios campos específicos del fabricante (Canon, Nikon, ...)
  • muy rápido (procesos totalmente ~ 400 imágenes por 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.

Ejemplo de uso:

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}"); 
Cuestiones relacionadas