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

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

Синтаксис

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

Параметры

hcmTransform

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

lpSrcBits

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

bmInput

Задает формат входной растровой карты.

dwWidth

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

dwHeight

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

dwInputStride

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

lpDestBits

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

bmOutput

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

dwOutputStride

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

lpfnCallback

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

ulCallbackData

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

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

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

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

Замечания

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

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

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

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

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

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
Header icm.h
Library Icm32.Lib

См. также