Поделиться через


Кодирование (компонент обработки образов Windows)

Автор кодировщика должен выполнить следующие действия:

  • Реализуйте интерфейсы IWICBitmapEncoder и IWICBitmapFrameEncode .
  • Реализуйте IWICMetadataBlockWriter в кодировщике кадров. Если кодек поддерживает метаданные уровня контейнера, этот интерфейс должен быть реализован в кодировщике уровня контейнера, а также в кодировщике кадра.
  • Если формат контейнера неявно содержит обязательные блоки метаданных, создайте экземпляр модуля записи метаданных для каждого такого блока. Например, для формата TIFF требуется устройство интерфейса (IFD) для каждого кадра, поэтому модуль записи IFD всегда должен быть открыт.
  • Реализация поддержки управления коллекцией средств записи метаданных. Модуль записи блоков управляет любыми требованиями к заказу или ограничениями контейнера для типов блоков метаданных, которые могут быть закодированы. Модуль записи блоков должен убедиться, что новые записи метаданных могут быть внедрены в формат контейнера.
  • При кодировании потока изображений вызовите МЕТОД WICSerializeMetadataContent для сериализации содержимого каждого модуля записи метаданных в поток. Если блок метаданных содержит "критические" метаданные, кодировщик должен задать критические элементы метаданных, прежде чем запрашивать у модуля записи метаданных сериализацию содержимого.
  • Проверьте наличие неизвестных обработчиков метаданных, чтобы убедиться, что избыточные блоки метаданных отсутствуют. Это важно, так как при сохранении метаданных в сценарии декодирования или кодирования неизвестные блоки могут быть дубликатом обязательных блоков метаданных.

Основные понятия

Общие сведения о компоненте обработки образов Windows

Рекомендации WIC для форматов необработанных изображений камеры

Написание кодека WIC-Enabled