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


Функция CMTranslateRGBs (icm.h)

[CMTranslateRGB больше не доступны для использования в Windows Vista.]

Преобразует растровое изображение из одного цветового пространства в другое с помощью преобразования цвета.

Синтаксис

BOOL CMTranslateRGBs(
  HCMTRANSFORM hcmTransform,
  LPVOID       lpSrcBits,
  BMFORMAT     bmInput,
  DWORD        dwWidth,
  DWORD        dwHeight,
  DWORD        dwStride,
  LPVOID       lpDestBits,
  BMFORMAT     bmOutput,
  DWORD        dwTranslateDirection
);

Параметры

hcmTransform

Указывает используемое преобразование цвета.

lpSrcBits

Указывает на точечный рисунок для преобразования.

bmInput

Задает формат входного растрового изображения.

dwWidth

Указывает количество пикселей на одну строку сканирования во входном растровом рисунке.

dwHeight

Указывает количество строк сканирования на входном растровом рисунке.

dwStride

Указывает количество байтов от начала одной строки сканирования до начала следующей на входном растровом рисунке. Если параметр dwStride равен нулю, CMM должен предполагать, что строки сканирования заполнены так, чтобы они были выровнены по DWORD.

lpDestBits

Указывает на буфер назначения, в который помещется преобразованное растровое изображение.

bmOutput

Задает выходной формат растрового изображения.

dwTranslateDirection

Указывает направление преобразования, используемого для преобразования. Этот параметр должен принимать одно из следующих значений.

Значение Значение
CMS_FORWARD

Использование прямого преобразования

CMS_BACKWARD

Использование обратного преобразования

Возвращаемое значение

Начиная с Windows Vista, CMM по умолчанию (Icm32.dll) возвращает значение FALSE , а GetLastError — ERROR_NOT_SUPPORTED.

Windows Server 2003, Windows XP и Windows 2000:

Если эта функция выполняется успешно, возвращается значение TRUE.

Если эта функция завершается сбоем, возвращается значение FALSE. Если функция не выполнена успешно, CMM должна вызвать SetLastError , чтобы задать для последней ошибки допустимое значение ошибки, определенное в Winerror.h.

Комментарии

Начиная с Windows Vista, разработчики CMM больше не требуются для реализации этого метода.

Windows Server 2003, Windows XP и Windows 2000:

Для экспорта этой функции требуется каждый CMM.

При записи в целевой буфер CMM должен убедиться, что строки сканирования заполнены для выравнивания по DWORD.

Если форматы входных и выходных данных несовместимы с преобразованием цвета, эта функция завершается ошибкой.

Если и входной, и выходной растровые форматы имеют 3-канальный, 4 байта на пиксель, как в случае BM_xRGBQUADS, то 4-й байт следует сохранить и скопировать в выходной буфер.

Обратите внимание, что эта функция должна поддерживать перевод на месте. Это означает, что каждый раз, когда объем памяти выходных данных меньше или равен занимаемой памяти входных данных, эта функция должна иметь возможность преобразовывать цвета растрового рисунка, даже если исходный и целевой буферы совпадают.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть icm.h

См. также раздел