Какая библиотека EXIF ​​лучше всего подходит для .Net? - PullRequest
25 голосов
/ 03 сентября 2008

Я ищу простое простое решение для доступа к информации EXIF ​​изображений JPEG в .Net. У кого-нибудь есть опыт с этим?

Ответы [ 7 ]

7 голосов
/ 25 апреля 2010

Если вы компилируете против v3 платформы (или позже), то вы можете загрузить изображения, используя BitmapSource класс , который предоставляет метаданные EXIF ​​через Metadata свойство

6 голосов
/ 21 декабря 2011

Новая и очень быстрая библиотека - ExifLib - быстрый Exif Data Extractor для .NET 2.0 от Simon McKenzie. Я закончил тем, что использовал это, и код прост в использовании и понимании. Я использовал его для переименования приложения в соответствии с датой. Интересно, сколько раз такое приложение было написано.

Мой совет: Обязательно вызывайте Dispose для объектов ExifReader, как только вы закончите с ними, или файлы останутся открытыми.

4 голосов
/ 03 сентября 2008

тот, который я сохранил в feeddemon, чтобы я мог проверить больше, когда у меня есть время (когда это для программиста? LOL), ниже

ExifTagCollection - Библиотека извлечения метаданных EXIF ​​

Mike

4 голосов
/ 03 сентября 2008

Мне нравится Фотография DotImage Atalasoft , но это решение с закрытым исходным кодом и стоит около 600 за лицензию разработчика.

Вы также можете проверить DTools на Codeplex , который является платформой с открытым исходным кодом, разработанной в дополнение к стандартному Fx. Включает в себя некоторые связанные с Exif классы.

3 голосов
/ 10 июля 2015

Если вы хотите использовать библиотеку с открытым исходным кодом, могу ли я скромно предложить одно из моих собственных творений?

Проект извлечения метаданных существует с 2002 года для Java и теперь доступен для .NET.

  • Открытый исходный код (Apache 2.0)
  • Тщательно проверено и широко используется
  • Поддерживает множество типов изображений (JPEG, TIFF, PNG, WebP, GIF, BMP, ICO, PCX ...)
  • Поддерживает множество типов метаданных (Exif, IPTC, XMP, JFIF, ...)
  • Поддерживает многие специфичные для производителя поля (Canon, Nikon, ...)
  • Очень быстро (полностью обрабатывает ~ 400 изображений общим объемом 1,33 ГБ за ~ 3 секунды) с низким потреблением памяти
  • Сборки для .NET 3.5, .NET 4.0+ и PCL

Доступно через NuGet или GitHub .

Пример использования:

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}");
2 голосов
/ 01 октября 2008

Проверьте этот экстрактор метаданных . Он написан на Java, но также был портирован на C #. Я использовал версию Java для написания небольшой утилиты для переименования файлов jpeg на основе тегов даты и модели. Очень прост в использовании.

0 голосов
/ 24 марта 2010

Несколько лет назад я запустил небольшое приложение JPEG EXIF ​​с Omar Shahine для работы с файлами JPEG EXIF, которое называется JpegHammer.

Он извлек из этого проекта библиотеку и назвал ее PhotoLibrary, это была простая оболочка .NET для тегов EXIF ​​2.2. К сожалению, сайт GotDotNet исчез, у CodePlex его нет, ссылки на веб-сайты Омара не работают, и у меня больше нет копии.

Но, если вы сможете покопаться в Google, возможно, вы найдете его, и он поможет вам.

...