Как перебрать все пути запроса в пространстве имен заголовка изображения в WIC? - PullRequest
1 голос
/ 06 мая 2010

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

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

Спасибо

Murugesh.

1 Ответ

2 голосов
/ 06 июля 2010

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

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

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

...