drawDibBegin 函数 (vfw.h)

DrawDib 函数更改 DrawDib DC 的参数或初始化新的 DrawDib DC。

语法

BOOL VFWAPI DrawDibBegin(
  HDRAWDIB           hdd,
  HDC                hdc,
  int                dxDst,
  int                dyDst,
  LPBITMAPINFOHEADER lpbi,
  int                dxSrc,
  int                dySrc,
  UINT               wFlags
);

参数

hdd

DrawDib DC 的句柄。

hdc

用于绘制的 DC 的句柄。 此参数是可选的。

dxDst

目标矩形 的宽度MM_TEXT 客户端单位。

dyDst

目标矩形的高度 (MM_TEXT 客户端单位)。

lpbi

指向包含图像格式的 BITMAPINFOHEADER 结构的指针。 DIB 的颜色表遵循图像格式, 并且 biHeight 成员必须是正值。

dxSrc

源矩形的宽度(以像素为单位)。

dySrc

源矩形的高度(以像素为单位)。

wFlags

函数的适用标志。 定义了以下值。

含义
DDF_ANIMATE 允许调色板动画。 如果存在此值,DrawDib 通过在 LOGPALETTE 结构的 palPalEntry 数组条目中设置PC_RESERVED来保留尽可能多的条目,并且可以使用 DrawDibChangePalette 函数对调色板进行动画处理。 如果应用程序将 DrawDibBegin 函数与 DrawDibDraw 函数一起使用,请使用 DrawDibBegin 而不是 DrawDibDraw 设置此值。
DDF_BACKGROUNDPAL 实现用于绘制的调色板作为后台任务,使用于显示的当前调色板保持不变。 (此值与 DDF_SAME_HDC.) 互斥
DDF_BUFFER 导致 DrawDib 尝试使用屏幕外缓冲区,以便可以使用 DDF_UPDATE 。 这会禁用解压缩和直接绘制到屏幕。 如果 DrawDib 无法创建屏幕外缓冲区,它将解压缩或直接绘制到屏幕。 有关详细信息,请参阅为 DrawDibDraw 描述的DDF_UPDATE和DDF_DONTDRAW值。
DDF_DONTDRAW 当前图像未绘制,但已解压缩。 DDF_UPDATE 稍后可用于绘制图像。 此标志取代 DDF_PREROLL 标志。
DDF_FULLSCREEN 不支持。
DDF_HALFTONE 无论 DIB 的调色板如何,始终将 DIB 抖动到标准调色板。 如果应用程序将 DrawDibBeginDrawDibDraw 配合使用,请使用 DrawDibBegin 而不是 DrawDibDraw 设置此值。
DDF_JUSTDRAWIT 使用 GDI 绘制图像。 禁止 DrawDib 函数解压缩、拉伸或抖动图像。 这会去除 DrawDib 与 StretchDIBits 函数区分开来的功能。
DDF_SAME_DRAW 使用 DrawDibDraw 的当前绘图参数。 仅当自使用 DrawDibDrawDrawDibBegin 以来,lpbidxDestdxSrcdySrc 未更改时,才使用此值。 此标志取代 DDF_SAME_DIBDDF_SAME_SIZE 标志。
DDF_SAME_HDC 使用当前 DC 句柄和当前与 DC 关联的调色板。
DDF_UPDATE 需要重绘最后一个缓冲位图。 如果绘制失败并显示此值,则缓冲图像不可用,并且需要指定新图像,然后才能更新显示。

返回值

如果成功,则返回 TRUE ,否则返回 FALSE

注解

此函数准备将 lpbi 指定的 DIB 绘制到 DC。 图像将拉伸到 dxDestdyDest 指定的大小。 如果 dxDestdyDest 设置为 “1”,则 DIB 将绘制为不拉伸的 1:1 比例。

可以通过重新发出 DrawDibBegin、指定新标志并更改至少以下设置之一来更新 DrawDib DC 的标志: dxDestdyDestlpbidxSrcdySrc

如果 DrawDibBegin 的参数未更改,则对函数的后续调用不起作用。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 vfw.h
Library Vfw32.lib
DLL Msvfw32.dll

另请参阅

DrawDib 函数