Функция CheckBitmapBits (icm.h)
Проверяет, находятся ли пиксели указанного растрового рисунка в выходной гамме указанного преобразования.
Синтаксис
BOOL CheckBitmapBits(
HTRANSFORM hColorTransform,
PVOID pSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwStride,
PBYTE paResult,
PBMCALLBACKFN pfnCallback,
LPARAM lpCallbackData
);
Параметры
hColorTransform
Дескриптор преобразования цвета для использования.
pSrcBits
Указатель на растровое изображение для проверка в гамме вывода.
bmInput
Задает формат растрового изображения. Необходимо задать одно из значений перечислимого типа BMFORMAT .
dwWidth
Указывает количество пикселей на одну строку сканирования растрового изображения.
dwHeight
Указывает количество строк сканирования растрового изображения.
dwStride
Указывает количество байтов от начала одной строки сканирования до начала следующей. Если задано значение 0, предполагается, что линии сканирования растрового изображения будут заполнены так, чтобы они были выровнены по DWORD.
paResult
Указатель на массив байтов, в который должны быть помещены результаты теста. Этот буфер результатов должен содержать по крайней мере столько байтов, сколько пикселей на растровом рисунке.
pfnCallback
Указатель на функцию обратного вызова, периодически вызываемую методом CheckBitmapBits , чтобы сообщить о ходе выполнения и позволить вызывающей процедуре отменить тест растрового изображения. (См. раздел ICMProgressProcCallback).
lpCallbackData
Данные, передаваемые обратно в функцию обратного вызова, например, для определения теста растрового изображения, о котором сообщается ход выполнения.
Возвращаемое значение
Если эта функция выполняется успешно, возвращаемое значение будет ненулевым.
Если эта функция завершается сбоем, возвращаемое значение равно нулю. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Комментарии
Если формат входных данных несовместим с преобразованием цвета, функция CheckBitmapBits завершается ошибкой .
Эта функция помещает результаты тестов в буфер, на который указывает paResult. Каждый байт в буфере соответствует пикселю на растровом рисунке и имеет неподписанное значение от 0 до 255. Значение 0 означает, что цвет находится в гамме, а ненулевое значение указывает на то, что цвет выходит за пределы гаммы. Для любого целого числа n , такого как 0 <n< 255, результирующий значение n + 1 указывает на то, что соответствующий цвет по крайней мере настолько далеко от гаммы, что было бы указано результирующим значением n.
При использовании любого из BMFORMAT с плавающей запятой, BM_32b_scARGB или BM_32b_scRGB, проверяемые цветовые данные не должны содержать значение NaN или бесконечность. NaN и infinity не считаются допустимыми значениями компонентов цвета, а результат проверки пикселей, содержащих NaN или бесконечность, не имеет смысла в цветовом выражении. Значения NaN или бесконечности в обрабатываемых цветовых данных обрабатываются автоматически, и ошибка не будет возвращена.
Информация вне гаммы в тегах гаммы, созданных в WCS, использует расстояние от цвета восприятия в CIECAM02, которое является средним квадратным корнем в пространстве CIECAM02 Jab. Расстояние в устаревших тегах гаммы профиля ICC — это средний квадратный корень в пространстве CIELAB. Мы рекомендуем использовать пространство CIECAM02, если оно доступно, так как оно обеспечивает более точные метрики расстояния.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | icm.h |
Библиотека | Mscms.lib |
DLL | Mscms.dll |