Я ищу простое прямое решение для доступа к EXIF-информации jpeg-изображений в .Net. У кого-нибудь есть опыт с этим?
Какая лучшая библиотека EXIF для .Net?
Ответ 1
Если вы компилируете v3 из Framework (или более поздней версии), вы можете загрузить изображения с помощью BitmapSource
class, который предоставляет метаданные EXIF через свойство Metadata
Ответ 2
тот, который я сохранил в feeddemon для меня, чтобы узнать больше, когда у меня есть время (когда это для программиста? LOL) ниже
ExifTagCollection - библиотека EXIF метаданных для извлечения
Mike
Ответ 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, возможно, вы его найдете, и это поможет вам.