Функция 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 |