C# 如何在WIC中迭代图像头命名空间内的所有查询路径?

C# 如何在WIC中迭代图像头命名空间内的所有查询路径?,c#,wpf,image,metadata,wic,C#,Wpf,Image,Metadata,Wic,我正在使用Windows Imaging组件读取/写入WPF应用程序中的图像元数据。我想知道是否有一种有效的方法可以知道名称空间中是否存在任何路径。例如,我想知道IPTC名称空间中是否存在任何路径,如果不存在,我想从图像头中删除名称空间 任何指点都将不胜感激 谢谢 Murugesh。获取一个IWICMetadataQueryReader对象并使用其GetEnumerator方法。使用从GetEnumerator返回的IEnumString对象,调用其下一个方法以查看是否至少存在一个元数据。如果不

我正在使用Windows Imaging组件读取/写入WPF应用程序中的图像元数据。我想知道是否有一种有效的方法可以知道名称空间中是否存在任何路径。例如,我想知道IPTC名称空间中是否存在任何路径,如果不存在,我想从图像头中删除名称空间

任何指点都将不胜感激

谢谢


Murugesh。

获取一个IWICMetadataQueryReader对象并使用其GetEnumerator方法。使用从GetEnumerator返回的IEnumString对象,调用其下一个方法以查看是否至少存在一个元数据。如果不是,则元数据块为空

尝试从根查询读取器访问IPTC名称空间可能有点棘手:根可能会将IPTC名称空间(元数据块)引用为根上的单个COM对象,然后您将需要找出该COM对象的类型(接口)并深入其中,就像探索树一样

我认为通常不可能控制WIC不写什么元数据,因为WIC可以自由插入自己的东西,只要认为是无害的