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


Поддержка IWICDevelopRaw

Чтобы приложения могли поддерживать обработку RAW, разработчикам кодека настоятельно рекомендуется реализовать все параметры IWICDevelopRaw. Для Windows 7 компоненту обработки образов Windows (WIC) потребуется поддержка всех IWICDevelopRaw. Если формат файла не поддерживает все эти параметры, следует изменить формат файла изображения.

Чтобы включить базовую обработку RAW в приложениях, кодеки должны поддерживать корректировки экспозиции (ExposureCompensationSupport) и цвета (например, KelvinWhitePointSupport и TintSupport). Кроме того, настоятельно рекомендуется выводить данные в определенные цветовые пространства и форматы пикселей. Поддержка других корректировок, конечно, поощряется и требуется для Windows 7.

Кодек RAW должен обеспечивать базовую поддержку поворота изображений и быстрого предварительного просмотра. Поворот можно указать двумя различными способами:

  • Метод IWICDevelopRaw::SetRotation. Этот метод задает требуемый угол поворота для выходных данных последующих вызовов CopyPixels.
  • Метод IWICBitmapSourceTransform::CopyPixels. Вызывающий объект может задать параметр dstTransform, чтобы указать нужный угол поворота.

Эти два подхода отличаются следующим образом:

Если в IWICDevelopRaw и IWICBitmapSourceTransform указан поворот, то эффект поворота является кумулятивным. Например, если IWICDevelopRaw задает поворот на 25 градусов, а IWICBitmapSourceTransform — поворот на 90 градусов, то должно произойти следующее:

  • Вызовы IWICBitmapFrameDecode::CopyPixels должны применять поворот на 25 градусов (то есть только количество, указанное в IWICDevelopRaw).
  • Вызовы IWICBitmapSourceTransform::CopyPixels с объемом dstTransform 90 приводят к повороту на 115 градусов (25 + 90).
  • Опять же, можно сохранить только поворот на 25 градусов, заданный с помощью IWICDevelopRaw::SetRotation .

В Windows Vista методы IWICBitmapFrameDecode::GetThumbnail и IWICBitmapDecoder::GetPreview позволяют вызывающим элементам получать внедренные эскизы и предварительные просмотры изображений соответственно. Они предназначены для возврата предварительно вычисляемых предварительных просмотров и эскизов из потока файлов изображений. Создание предварительных просмотров или эскизов "на лету" приводит к снижению производительности в Windows Обозреватель и Средстве просмотра фотографий. Кодек также должен предоставлять способ быстрого возврата обновленного изображения с разрешением экрана, когда пользователи выполняют интерактивное управление параметрами обработки.

Вызовы IWICDevelopRaw::SetRenderMode определяют, какие последующие вызовы IWICBitmapFrameDecode::CopyPixels возвращают (в пользу скорости или качества). Кроме того, интерфейс IWICBitmapSourceTransform можно использовать для определения необходимости уменьшения дискретизации и повышения производительности при его применении. Цветовая точность всех изображений должна быть сравнимой. При внесении изменений в параметры обработки все эти отрисовки должны отражать изменения.

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

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

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

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