ImageMagick C# 如何添加 JPEG EXIF 标签

ImageMagick C# How to Add JPEG EXIF TAGS

在 VS2013、Framework 4.6 中将 ImageMagick 8 用于 .Net

我正在尝试为 jpeg 图片添加 exif 标签,

我的代码:

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

问题是最后一行抛出了这个: "exif Value should be an array"

也无法将字符串转换为字符串数组或字节数组,

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

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

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

image.AddProfile(exif);

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