2010-05-06 4 views
1

Я использую компонент Windows Imaging для чтения/записи метаданных изображений в своем приложении WPF. Я хотел бы знать, есть ли эффективный способ узнать, существуют ли какие-либо пути в пространстве имен. Например, я хотел бы знать, существуют ли какие-либо пути в пространстве имен IPTC и если я не хочу удалить пространство имен из заголовка изображения.Как перебирать все пути запроса в пространстве имен заголовка изображения в WIC?

Любые указатели были бы весьма благодарны.

Thanks,

Murugesh.

ответ

2

Получить объект IWICMetadataQueryReader и использовать его метод GetEnumerator. Когда объект IEnumString возвращается из GetEnumerator, вызовите его метод Next, чтобы узнать, существует ли хотя бы один метаданный. Если нет, то блок метаданных пуст.

Попытка достичь пространства имен IPTC из корневого читателя запросов может быть несколько сложнее: корень может ссылаться на пространство имен IPTC (блок метаданных) как на один COM-объект, расположенный на корне, тогда вам нужно будет выяснить тип (интерфейс) этого COM-объекта и спускаться в него, подобно изучению дерева.

Я думаю, что, как правило, невозможно контролировать WIC, какие метаданные не, так как WIC может вставлять свои собственные вещи, пока считается безобидным.