我想看看是否可以在图像文件中修改一些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属性迭代时,它确实正确地反映了,但是当我结束程序时,文件保持不变。我相信写回图像路径是有关系的,但是我不知道在这个库里我是在哪里写的。任何帮助都将不胜感激。
发布于 2022-11-02 02:10:37
MetadataExtractor不支持修改文件。如您所示,您可以更新数据结构,但是无法将这些更改写回原始文件。
https://stackoverflow.com/questions/72441339
复制相似问题