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
指定从开始的一个扫描行到下一个扫描行的开头的字节数。 如果设置为零,则假定对位图扫描行进行填充,以便与 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 和无穷大不被视为表示合法的颜色分量值,并且检查包含 NaN 或无穷大的像素的结果在颜色方面毫无意义。 正在处理的颜色数据中的 NaN 或无穷大值将以无提示方式处理,并且不会返回错误。
在 WCS 中创建的色域外信息使用 CIECAM02 中的感知颜色距离,即 CIECAM02 Jab 空间中的均平方根。 旧版 ICC 配置文件范围标记中的距离是 CIELAB 空间中的均平方根。 建议在CIECAM02空间可用时使用该空间,因为它提供更准确的距离指标。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | icm.h |
Library | Mscms.lib |
DLL | Mscms.dll |