TranslateBitmapBits 函数 (icm.h)

转换具有已定义格式的位图的颜色,以便以请求的格式生成另一个位图。

语法

BOOL TranslateBitmapBits(
  HTRANSFORM    hColorTransform,
  PVOID         pSrcBits,
  BMFORMAT      bmInput,
  DWORD         dwWidth,
  DWORD         dwHeight,
  DWORD         dwInputStride,
  PVOID         pDestBits,
  BMFORMAT      bmOutput,
  DWORD         dwOutputStride,
  PBMCALLBACKFN pfnCallBack,
  LPARAM        ulCallbackData
);

参数

hColorTransform

标识要使用的颜色转换。

pSrcBits

指向要转换的位图的指针。

bmInput

指定输入位图的格式。 必须设置为 BMFORMAT 枚举类型的值之一。

注意

此函数不支持 BM_XYZTRIPLETSBM_YxyTRIPLETS 作为输入。

dwWidth

指定输入位图中每个扫描行的像素数。

dwHeight

指定输入位图中的扫描行数。

dwInputStride

指定输入位图中从一个扫描行的开头到下一个扫描行的开头的字节数;如果设置为零,则函数假定扫描行已填充,以便与 DWORD 对齐。

pDestBits

指向要放置已转换位图的缓冲区的指针。

bmOutput

指定输出位图的格式。 必须设置为 BMFORMAT 枚举类型的值之一。

dwOutputStride

指定输出位图中从一个扫描行的开头到下一个扫描行的开头的字节数;如果设置为零,则函数假定扫描行应填充为 DWORD 对齐。

pfnCallBack

指向 TranslateBitmapBits 定期调用的回调函数的指针,用于报告进度并允许调用进程取消转换。 (请参阅 ICMProgressProcCallback )

ulCallbackData

传递回回调函数的数据,例如,用于标识报告进度的转换。

返回值

如果此函数成功,则返回值为 TRUE

如果此函数失败,则返回值为 FALSE。 有关扩展的错误信息,请调用 GetLastError

注解

如果输入和输出格式与颜色转换不兼容,则此函数将失败。

使用浮点 BMFORMAT、BM_32b_scARGB或BM_32b_scRGB时,要转换的颜色数据不应包含 NaN 或无穷大。 NaN 和无穷大不被视为表示合法的颜色分量值,并且转换包含 NaN 或无穷大的像素的结果在颜色方面毫无意义。 正在处理的颜色数据中的 NaN 或无穷大值将以无提示方式处理,并且不会返回错误。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 icm.h
Library Mscms.lib
DLL Mscms.dll

另请参阅