1

在 VS2013、Framework 4.6 中使用 ImageMagick 8 for .Net

我正在尝试将 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 添加标签的正确语法是什么?
4

1 回答 1

1

ImageMagick 没有第 8 版,我怀疑您使用的是Magick.NET。你得到一个例外,因为XPKeywords应该是一个字节数组而不是一个字符串。你应该这样做:

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

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

image.AddProfile(exif);

您的操作将对图像进行解码和编码。如果您只想按照@fmw42 的建议更改 exif 数据,那么像 exiftool 这样的工具可能会更好。

于 2017-09-17T11:03:17.887 回答