我正在 C# 中寻找一种方法,不仅可以从例如中提取 XMP 数据。图像,还可以更改/更新值并存储所有内容。现在我有两个主要问题:
阅读xmp:
var xmpDirectory = ImageMetadataReader.ReadMetadata(pathToMyJpgImage).OfType<XmpDirectory>().FirstOrDefault();
IXmpMeta xmp = xmpDirectory.XmpMeta;
xmp 对象很好,我可以更新已知命名空间中的已知属性。 像这样:
xmp.SetProperty("http://ns.adobe.com/xap/1.0/", "CreateDate", "123");
但是我还没有找到一种方法来通过我猜的
XmpSchemaRegistry
来注册新的命名空间。
问题 1:是否可以在
xmp
实例中注册新的命名空间 - 以及如何注册?
问题2:我最终没有找到存储所有内容的方法。那么如何将更改应用到图像???
抱歉,我第一次处理图像的元数据......因此我想提出一些愚蠢的问题。
关于问题1:
XmpMetaFactory.SchemaRegistry.RegisterNamespace("http://ns.adobe.com/exif/1.0/", "my-ns");
xmp.SetProperty("http://ns.adobe.com/exif/1.0/", "my-property", "my-value");