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 抖动到标准调色板。 如果应用程序将 DrawDibBegin 与 DrawDibDraw 配合使用,请使用 DrawDibBegin 而不是 DrawDibDraw 设置此值。 |
DDF_JUSTDRAWIT | 使用 GDI 绘制图像。 禁止 DrawDib 函数解压缩、拉伸或抖动图像。 这会去除 DrawDib 与 StretchDIBits 函数区分开来的功能。 |
DDF_SAME_DRAW | 使用 DrawDibDraw 的当前绘图参数。 仅当自使用 DrawDibDraw 或 DrawDibBegin 以来,lpbi、dxDest、dxSrc 和 dySrc 未更改时,才使用此值。 此标志取代 DDF_SAME_DIB 和 DDF_SAME_SIZE 标志。 |
DDF_SAME_HDC | 使用当前 DC 句柄和当前与 DC 关联的调色板。 |
DDF_UPDATE | 需要重绘最后一个缓冲位图。 如果绘制失败并显示此值,则缓冲图像不可用,并且需要指定新图像,然后才能更新显示。 |
返回值
如果成功,则返回 TRUE ,否则返回 FALSE 。
注解
此函数准备将 lpbi 指定的 DIB 绘制到 DC。 图像将拉伸到 dxDest 和 dyDest 指定的大小。 如果 dxDest 和 dyDest 设置为 “1”,则 DIB 将绘制为不拉伸的 1:1 比例。
可以通过重新发出 DrawDibBegin、指定新标志并更改至少以下设置之一来更新 DrawDib DC 的标志: dxDest、 dyDest、 lpbi、 dxSrc 或 dySrc。
如果 DrawDibBegin 的参数未更改,则对函数的后续调用不起作用。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | vfw.h |
Library | Vfw32.lib |
DLL | Msvfw32.dll |