Подтвердить что ты не робот

Какая лучшая библиотека EXIF ​​для .Net?

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

4b9b3361

Ответ 1

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

Ответ 3

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

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

Ответ 4

Мне нравится Atalasoft DotImage Photo, но это закрытое исходное решение и стоит около 600 на каждую лицензию.

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

Ответ 5

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

Проект метаданных-экстракторов был жив и хорошо с 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}");

Ответ 6

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

Ответ 7

Несколько лет назад я начал небольшое приложение JPEG EXIF ​​с Омаром Шахином для работы с файлами JPEG EXIF ​​под названием JpegHammer.

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

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