ImageMagick: получение даты и времени в C #? - PullRequest
0 голосов
/ 24 августа 2011

Я пишу приложение оболочки C #, которое использует ImageMagick. Я хочу получить поле EXIF ​​DateTimeOriginal, чтобы можно было проанализировать и переформатировать дату и время для отметки времени JPEG. Какой лучший способ сделать это?

Некоторая дополнительная информация: я использую класс .NET Process для управления ImageMagick, и я могу перенаправить вывод ImageMagick, используя поток вывода класса Process. Чего я не могу понять, так это как вызвать ImageMagick для возврата данных DateTimeOriginal.

Заранее спасибо за помощь.

Ответы [ 3 ]

2 голосов
/ 24 августа 2011

Вы можете использовать параметр командной строки -format и соответствующие опции, чтобы получить DateTimeOriginal вот так identify -format "%[EXIF:DateTimeOriginal]"

see http://www.imagemagick.org/script/escape.php

Вы можете делать такие вещиВстроенные классы .NET тоже Image - см. http://msdn.microsoft.com/en-us/library/system.drawing.image.aspx

1 голос
/ 24 августа 2011

Если вы установите ProcessStartInfo.RedirectStandardOutput = true, вы можете просто прочитать вывод процесса с помощью чего-то вроде output = p.StandardOutput.ReadLine();.Если вы выполните identify -format "%[EXIF:DateTimeOriginal]" как часть своей командной строки, вы получите данные в вашей строке output.

0 голосов
/ 24 августа 2011

Должна быть возможность читать такие Exif-данные с использованием объектов из .NET Framework, наиболее заметным из которых является класс Image и метод TryGetPropertyItem.

Таким образом, вам не нужнопородить новый процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...