我想用Taglib#库(GitHub,NuGet Install-Package taglib)编写图像标签(关键字标签),所以我使用了这个例子和这个教程。基于它我写了这个方法:
using TagLib;
public void AddTagsToImage()
{
string path = @"C:\image.jpg";
string[] tagset = new string[] { "tag1", "tag2", "tag3" };
TagLib.File tagFile = TagLib.File.Create(path);
var image = tagFile as TagLib.Image.File;
image.ImageTag.Keywords = tagset;
image.Save();
}
它可以编译,但不能按预期工作。图像文件可以正常打开,然后我们将其识别为图像,但是当我尝试设置image.ImageTag.Keywords属性时没有任何反应(它是 string[] 和 tagset 一样)。因此,保存图像不会修改任何内容。那么,我需要如何修改才能使其工作?
编辑。问题是由于错误 0x88982F72 或显然,如果图像元数据不存在/损坏的 Taglib# 库可能无法正常工作。