Функция CMTranslateRGBsExt


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

Синтаксис

BOOL WINAPI CMTranslateRGBsExt(
  HCMTRANSFORM hcmTransform, 
  LPVOID lpSrcBits,
  BMFORMAT bmInput,
  DWORD dwWidth, 
  DWORD dwHeight,
  DWORD dwInputStride, 
  LPVOID lpDestBits,
  BMFORMAT bmOutput, 
  DWORD dwOutputStride,
  LPBMCALLBACKFN lpfnCallback,
  ULONG ulCallbackData
);

Параметры

hcmTransform

Определяет используемое преобразование цвета.

lpSrcBits

Указатель на переносимый точечный рисунок.

bmInput

Определяет вводимый формат точечного рисунка.

dwWidth

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

dwHeight

Определяет число строк развертки во вводимом точечном рисунке.

dwInputStride

Определяет число байтов от начала одной строки развертки до начала следующей во вводимом точечном рисунке. Если параметр dwInputStride установлен в нуль, Модуль управления цветом (CMM) должен предположить, что строки развертки дополняются, чтобы выровняться по границе ДВОЙНОГО СЛОВА (DWORD).

lpDestBits

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

bmOutput

Определяет выводимый формат точечного рисунка.

dwOutputStride

Определяет число байтов от начала одной строки развертки до начала следующей во вводимом точечном рисунке. Если dwOutputStride установлен в нуль, Модуль управления цветом (CMM) должен дополнить строки развертки так, чтобы они выровнялись по границе ДВОЙНОГО СЛОВА (DWORD).

Specifies the number of bytes from the beginning of one scan line to the beginning of the next in the input bitmap. If dwOutputStride is set to zero, the CMM should pad scan lines so that they are DWORD-aligned.

От переводчика: видимо здесь ошибка и все-таки (судя по названию параметра dwOutputStride) речь идет о выводимом точечном рисунке, так как output=вывод (данных) .

lpfnCallback

Указатель на поставляемую приложением функцию обратного вызова, периодически вызываемую CMTranslateRGBsExt, чтобы сообщать о ходе операции и дать возможность вызываемому процессу отменить перенос. (См. описание функции ICMProgressProcCallback.)

ulCallbackData

Данные возвращаемые в функцию обратного вызова, например, чтобы идентифицировать перенос, который сообщает о ходе операции.

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

Если эта функция завершается успешно, возвращаемое значение - ИСТИНА (TRUE).

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

Замечания

Каждый Модуль управления цветом (CMM) обязан экспортировать эту функцию.

При записи в целевой буфер, Модуль управления цветом (CMM) должен удостовериться, что строки развертки дополняются, чтобы выровняться по границе ДВОЙНОГО СЛОВА (DWORD).

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

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

Если функция обратного вызова возвращает нуль, обработка должна быть отменена, а функция CMTranslateRGBsExt должен возвратить нуль, чтобы указать сбой; буфер выводимых данных может частично заполниться.

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

Смотри также 

Обзор Основные концепции управления цветом, Функции, используемые ICM, ICMProgressProcCallback, Структуры заголовка точечного рисунка Windows

Размещение и совместимость CMTranslateRGBsExt

К 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 Нет
 Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz