ImageMagick:用C#获取日期和时间?

时间:2011-08-24 04:13:36

标签: c# imagemagick

我正在编写一个使用ImageMagick的C#shell应用程序。我想获取EXIF DateTimeOriginal字段,以便我可以解析并重新格式化JPEG的时间戳日期和时间。最好的方法是什么?

一些其他信息:我使用.NET Process类来驱动ImageMagick,我可以使用Process类的输出流重定向ImageMagick的输出。我无法弄清楚的是如何调用ImageMagick来返回DateTimeOriginal数据。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

您可以使用-format命令行参数和相应选项来DateTimeOriginal这样identify -format "%[EXIF:DateTimeOriginal]"

请参阅http://www.imagemagick.org/script/escape.php

您也可以使用.NET内置类Image来完成这类工作 - 请参阅http://msdn.microsoft.com/en-us/library/system.drawing.image.aspx

答案 1 :(得分:1)

如果您设置ProcessStartInfo.RedirectStandardOutput = true,则可以使用output = p.StandardOutput.ReadLine();之类的内容读取流程的输出。如果您执行identify -format "%[EXIF:DateTimeOriginal]"作为命令行的一部分,您将获得output字符串中的数据。

答案 2 :(得分:0)

应该可以使用.NET Framework中的对象读取那种Exif数据,最值得注意的是使用Image类和TryGetPropertyItem方法。

这样您就不需要生成新进程。