drawDibDraw 函数 (vfw.h)

DrawDibDraw 函数将 DIB 绘制到屏幕。

语法

BOOL VFWAPI DrawDibDraw(
  HDRAWDIB           hdd,
  HDC                hdc,
  int                xDst,
  int                yDst,
  int                dxDst,
  int                dyDst,
  LPBITMAPINFOHEADER lpbi,
  LPVOID             lpBits,
  int                xSrc,
  int                ySrc,
  int                dxSrc,
  int                dySrc,
  UINT               wFlags
);

参数

hdd

DrawDib DC 的句柄。

hdc

DC 的句柄。

xDst

目标矩形左上角的 x 坐标 MM_TEXT 客户端坐标。

yDst

目标矩形左上角的 y 坐标 MM_TEXT 客户端坐标。

dxDst

目标矩形 的宽度(以客户端坐标MM_TEXT 为单位)。 如果 dxDst 为 •1,则使用位图的宽度。

dyDst

目标矩形 的高度(以MM_TEXT 客户端坐标为单位)。 如果 dyDst 为 •1,则使用位图的高度。

lpbi

指向包含图像格式的 BITMAPINFOHEADER 结构的指针。 BITMAPINFOHEADER 中 DIB 的颜色表遵循格式,并且 biHeight 成员必须是正值;DrawDibDraw 不会绘制倒置的 DIB。

lpBits

指向包含位图位的缓冲区的指针。

xSrc

源矩形左上角的 x 坐标(以像素为单位)。 (0,0) 坐标表示位图的左上角。

ySrc

源矩形左上角的 y 坐标(以像素为单位)。 (0,0) 坐标表示位图的左上角。

dxSrc

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

dySrc

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

wFlags

绘图的适用标志。 定义了以下值。

含义
DDF_BACKGROUNDPAL 实现用于在背景中绘制的调色板,使用于显示的实际调色板保持不变。 仅当未设置 DDF_SAME_HDC 时,此值才有效。
DDF_DONTDRAW 当前图像已解压缩,但未绘制。 此标志取代 DDF_PREROLL 标志。
DDF_FULLSCREEN 不支持。
DDF_HALFTONE 无论 DIB 的调色板如何,始终将 DIB 抖动到标准调色板。 如果应用程序使用 DrawDibBegin 函数,请在 DrawDibBegin 中而不是 DrawDibDraw 中设置此值。
DDF_HURRYUP 数据不必绘制 (也就是说,可以将其删除) , 并且不会使用DDF_UPDATE 来撤回此信息。 DrawDib 仅在需要生成下一帧时才检查此值;否则,将忽略该值。此值通常用于同步视频和音频。 同步数据时,应用程序应发送具有此值的图像,以防驱动程序需要缓冲帧以解压缩后续帧。
DDF_NOTKEYFRAME DIB 数据不是关键帧。
DDF_SAME_HDC 使用当前 DC 句柄和当前与 DC 关联的调色板。
DDF_SAME_DRAW 使用 DrawDibDraw 的当前绘图参数。 仅当自使用 DrawDibDraw 或 DrawDibBegin 以来 lpbidxDstdxSrcdySrc 未更改时,才使用此值。 DrawDibDraw 通常会检查参数,如果参数已更改, DrawDibBegin 将准备用于绘图的 DrawDib DC。 此标志取代 DDF_SAME_DIBDDF_SAME_SIZE 标志。
DDF_UPDATE 要重绘最后一个缓冲位图。 如果绘制失败并显示此值,则缓冲图像不可用,并且需要指定新图像,然后才能更新显示。

返回值

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

备注

DDF_DONTDRAW 会导致 DrawDibDraw 解压缩但不显示图像。 对 DrawDibDraw 的后续调用指定 DDF_UPDATE 将显示图像。

如果未指定 DrawDib DC 的屏幕外缓冲区,则指定 DDF_DONTDRAW 会导致立即将帧绘制到屏幕。 对 DrawDibDraw的后续 调用DDF_UPDATE失败。

尽管它们是在不同的时间设置的, 但DDF_UPDATEDDF_DONTDRAW 可以一起用于在屏幕外创建复合图像。 屏幕外图像完成后,可以通过调用 DrawDibDraw 来显示图像。

要求

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

另请参阅

DrawDib 函数