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


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

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