首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修改文件的XMP元数据?

如何修改文件的XMP元数据?
EN

Stack Overflow用户
提问于 2022-05-31 01:23:15
回答 1查看 65关注 0票数 0

我想看看是否可以在图像文件中修改一些XMP。我使用以下代码:

代码语言:javascript
复制
        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属性迭代时,它确实正确地反映了,但是当我结束程序时,文件保持不变。我相信写回图像路径是有关系的,但是我不知道在这个库里我是在哪里写的。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-11-02 02:10:37

MetadataExtractor不支持修改文件。如您所示,您可以更新数据结构,但是无法将这些更改写回原始文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72441339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档