Функция CMTranslateRGBs переносит точечный рисунок из одного цветового пространства в другое, используя преобразование цвета.
Синтаксис
BOOL WINAPI 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_BACKWARD | Используется обратное преобразование |
CMS_FORWARD | Используется прямое преобразование |
Если эта функция завершается успешно, возвращаемое значение - ИСТИНА (TRUE).
Если эта функция завершается ошибкой, возвращаемое значение - ЛОЖЬ (FALSE), а Модуль управления цветом (CMM) должен вызвать функцию SetLastError, чтобы установить код последней ошибки в правильное значение, определенное в Winerror.h.
Каждый Модуль управления цветом (CMM) обязан экспортировать эту функцию.
При записи в целевой буфер, Модуль управления цветом (CMM) должен удостовериться, что строки развертки дополняются, чтобы выровняться по границе ДВОЙНОГО СЛОВА (DWORD).
Если форматы вводимых данных и выводимых данных не совместимы с преобразованием цвета, эта функция завершается ошибкой.
Если и вводимый и выводимый формат данных точечного рисунка с 3 каналами, 4 байта на пиксель как в случае BM_xRGBQUADS, 4-ый байт должен быть сохранен и скопирован в буфер выводимых данных.
Обратите внимание! на то, что эта функция должна поддерживать перенос на месте работы. Таким образом, всякий раз, когда пространство, занимаемое в памяти выводимыми данными меньше или равно пространству, занимаемому в памяти вводимыми данными, эта функция должна быть в состоянии переносить цвета точечного рисунка, даже тогда, когда источник и буфера предназначения - те же самые. |
Смотри также
Обзор Основные концепции управления цветом, Функции, используемые ICM
Размещение и совместимость CMTranslateRGBs |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Нет |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Нет |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Нет |
в | ||
е | ||
р | ||
Используемая библиотека | Gdi32.lib | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Wingdi.h | |
- включено в | - | |
Unicode | Нет | |
Замечания по платформе | Не имеется |