ImageMagick C#如何添加JPEG EXIF标签



使用ImageMagick 8用于VS2013中的.NET,框架4.6

我试图将EXIF标签添加到JPEG图像,

我的代码:

var exif = new ExifProfile();
exif.SetValue(ExifTag.Artist, "SM");
exif.SetValue(ExifTag.OwnerName, "ownerexample.com");
exif.SetValue(ExifTag.XPKeywords, "one two three");

问题是最后一行抛出了这一点:" exif值应该是一个数组"

还将字符串转换为字符串数组或字节数组无法正常工作,

  • 我是否使用正确的标签(exiftag.xpkeywords)将标签添加到JPEG?
  • 如果我是对的,那么使用ImageMagick将标签添加到JPEG的正确语法是什么?

没有ImageMagick的版本8,我怀疑您正在使用magick.net。您会得到例外,因为XPKeywords应该是字节数组而不是字符串。您应该做这样的事情:

Encoding.UTF8.GetBytes("one two three");

您可以使用以下代码将配置文件添加到图像:

image.AddProfile(exif);

您的操作将解码并编码图像。如果您只想将EXIF数据更改为 @fmw42,则像Exiftool这样的工具可能会更好。

最新更新