Как получить данные EXIF ​​из файла с помощью C # [закрыто]

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

Кто-нибудь знает относительно простой способ получить данные EXIF, такие как дата и время или экспозиция, программно? Спасибо!

64 голоса | спросил Joel in Gö 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 12 Sep 2008 14:43:49 +0400 2008, 14:43:49

6 ответов


0

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


РЕДАКТИРОВАТЬ экстрактор метаданных также поддерживает .NET. Это очень быстрая и простая библиотека для доступа к метаданным из изображений и видео.

Он полностью поддерживает Exif, а также IPTC, XMP и многие другие типы метаданных из типов файлов, включая JPEG, PNG, GIF, PNG, ICO, WebP, PSD, ...

var directories = ImageMetadataReader.ReadMetadata(imagePath);

// print out all metadata
foreach (var directory in directories)
foreach (var tag in directory.Tags)
    Console.WriteLine($"{directory.Name} - {tag.Name} = {tag.Description}");

// access the date time
var subIfdDirectory = directories.OfType<ExifSubIfdDirectory>().FirstOrDefault();
var dateTime = subIfdDirectory?.GetDateTime(ExifDirectoryBase.TagDateTime);

Он доступен через NuGet и код на GitHub .

ответил Dave Griffiths 1 +04002008-10-01T12:00:51+04:00312008bEurope/MoscowWed, 01 Oct 2008 12:00:51 +0400 2008, 12:00:51
0

Вот ссылка на другой аналогичный вопрос SO , в котором есть ответ на эту хорошую статью на « Чтение, запись и метаданные фотографий » в .Net.

ответил Joel in Gö 12 MaramThu, 12 Mar 2009 01:24:46 +03002009-03-12T01:24:46+03:0001 2009, 01:24:46
0

Вы можете использовать TagLib # , который используется такими приложениями, как F-Spot . Помимо Exif, он будет читать большое количество форматов метаданных для изображений, аудио и видео.

Мне также нравится API ExifUtils , но он содержит ошибки и не разрабатывается активно.

ответил smola 25 +04002011-10-25T13:21:19+04:00312011bEurope/MoscowTue, 25 Oct 2011 13:21:19 +0400 2011, 13:21:19
0

Класс изображения имеет свойства PropertyItems и PropertyIdList. Вы можете использовать их.

ответил idursun 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 12 Sep 2008 14:53:06 +0400 2008, 14:53:06
0

Инструмент командной строки ExifTool от Phil Harvey работает с десятками форматы изображений, включая множество фирменных форматов RAW, и могут манипулировать различными форматами метаданных, включая EXIF, GPS, IPTC, XMP, JFIF.

Очень простое в использовании, легкое, впечатляющее приложение.

ответил Kirk Broadhurst 3 FebruaryEurope/MoscowbFri, 03 Feb 2012 06:43:06 +0400000000amFri, 03 Feb 2012 06:43:06 +040012 2012, 06:43:06
0

Получение данных EXIF ​​из изображения JPEG включает в себя:

  1. Поиск меток JPEG, в которых упоминается начало данных EXIF. например обычно oxFFE1 - это маркер, вставленный при кодировании данных EXIF, который является сегментом APPlication, куда идут данные EXIF.
  2. Проанализируйте все данные, скажем, от 0xFFE1 до 0xFFE2. Эти данные будут представлять собой поток байтов в файле в кодировке JPEG.
  3. ASCII-эквивалент этих байтов будет содержать различную информацию, связанную с датой изображения, названием модели камеры, экспозицией и т. д.
ответил goldenmean 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 12 Sep 2008 14:49:18 +0400 2008, 14:49:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132