【发布时间】:2022-11-02 10:10:37
【问题描述】:
我有兴趣看看我是否可以在图像文件中修改一些 XMP。我正在使用以下代码:
var items = MetadataExtractor.ImageMetadataReader.ReadMetadata(_filename);
foreach (var item in items)
{
if(item.Name == "XMP")
{
var y = new XmpCore.Impl.XmpMeta();
var xmp = item as MetadataExtractor.Formats.Xmp.XmpDirectory;
foreach(var xd in xmp.XmpMeta.Properties)
{
if(xd.Path == "drone-dji:AbsoluteAltitude")
{
var alt = Convert.ToDecimal(xd.Value.Substring(1,xd.Value.Length-1));
alt -= 100;
xmp.XmpMeta.SetProperty(xd.Namespace, xd.Path, alt.ToString());
}
}
xmp.SetXmpMeta(xmp.XmpMeta);
}
}
我知道我遗漏了一些非常明显的东西,但我对这个库的了解还不够,无法弄清楚。
没有出现异常,但是当我打开文件时,XMP 字段仍然相同。当我在设置属性后遍历 xmp 属性时,它确实反映正确,但是当我结束程序时,文件保持不变。我确定与写回图像路径有关,但我不知道我在这个库中的哪个位置执行此操作。任何帮助将不胜感激。
【问题讨论】: