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


Функция 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 , чтобы сообщить о ходе выполнения и разрешить вызывающему процессу отменить преобразование. (См. раздел ICMProgressProcCallback.)

ulCallbackData

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

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

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

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

Комментарии

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

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

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

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

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

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

Требования

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

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