DrawDib函数
来源:百度文库 编辑:神马文学网 时间:2024/10/02 16:37:57
DrawDibBegin
描述:变一个DrawDib DC的参数或初始化一个新的DrawDib DC.
BOOL DrawDibBegin(
HDRAWDIB hdd,
HDC hdc,
int dxDest,
int dyDest,
LPBITMAPINFOHEADER lpbi,
int dxSrc,
int dySrc,
UINT wFlags
);
参数
hdd
hdc
dxDst
dyDst
lpbi
dxSrc
dySrc
wFlags
DDF_ANIMATE
DDF_BACKGROUNDPAL
DDF_BUFFER
DDF_DONTDRAW
DDF_FULLSCREEN 不被支持。
DDF_HALFTONE
DDF_JUSTDRAWIT
DDF_SAME_DRAW
DDF_SAME_HDC
DDF_UPDATE
返回值
注这个函数准备由lpbi指定要绘往DC的DIB。图象已经拉伸成由dxDest和dyDest所指定的大小。如果dxDest和dyDest被设置成-1,DIB则被按原比例绘制。
可通过重新使用DrawDibBegin,指定新的标志和改变至少一个以下的设置:dxDest、dyDest、lpbi、dxSrc或dySrc来更新DrawDib DC的标志。
如果DrawDibBegin的参数未被改变,再次调用这个函数将不起作用。
DrawDibChangePalette
BOOL DrawDibChangePalette(
HDRAWDIB hdd,
int iStart,
int iLen,
LPPALETTEENTRY lppe
);
参数:
hdd
iStart 调色板开始数。
iLen
lppe
返回值
DrawDibClose
BOOL DrawDibClose(
HDRAWDIB hdd
);
参数
hdd
返回值
DrawDibDraw
BOOL 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
hdc
xDst
yDst
dxDst
dyDst
lpbi
lpbits 包含位图位的缓冲的地址。
xSrc
ySrc
dxSrc
dySrc
wFlags 可用的绘图标志。如下值被定义:
DDF_BACKGROUNDPAL
DDF_DONTDRAW
DDF_FULLSCREEN 不被支持。
DDF_HALFTONE
DDF_HURRYUP
这个值通常用来同步视频和音频。当同步数据时,应用程序应当用这个值发送图象以防止驱动器需要缓冲帧来解压后续帧。
DDF_NOTKEYFRAME DIB数据不是关键帧。
DDF_SAME_HDC 使用当前DC句柄以及与当前句柄相关联的调色板。
DDF_SAME_DRAW
DDF_UPDATE
返回值
成功返回TRUE,否则FALSE。
如果DrawDib DC没有指定一个屏幕缓冲,指定DDF_DONTDRAW会造成这帧被立即绘到屏幕。序列调用DrawDibDraw指定DDF_UPDATE会失败。
尽管DDF_UPDAT和DDF_DONTDRAW可以在不同时间设置,它们可以一起用来创建脱屏图象。当脱屏图象完成后,可以调用DrawDibDraw来显示图象。
DrawDibEnd
描述:函数清除由DrawDibBegin或DrawDibDraw函数设置的标志和DrawDib DC的其它设置。
BOOL DrawDibEnd(
HDRAWDIB hdd
);
参数
返回值
DrawDibGetBuffer
LPVOID DrawDibGetBuffer(
HDRAWDIB hdd,
LPBITMAPINFOHEADER lpbi,
DWORD dwSize,
DWORD dwFlags
);
参数
hdd
lpbi
dwSize
dwFlags 保留,必须为0。
返回值
DrawDibGetPalette
HPALETTE DrawDibGetPalette(
HDRAWDIB hdd
);
参数
hdd
返回值
注: 这个函数假设DrawDib DC包含了一个有效的调色板,隐含着这样的一个条件:对这个函数的调用必须在DrawDibDraw或DrawDibBegin函数之后。
DrawDibOpen
描述:这个函数打开DrawDib库为使用和创建一个绘图的DrawDib DC作准备。
HDRAWDIB DrawDibOpen(VOID);
参数
返回值
注: 当同时绘多个DIB时,为同时在屏的每个图象创建一个DrawDib DC。
DrawDibProfileDisplay
BOOL DrawDibProfileDisplay(
LPBITMAPINFOHEADER lpbi
);
参数
lpbi
返回值
PD_CAN_DRAW_DIB
PD_CAN_STRETCHDIB
PD_STRETCHDIB _1_1_OK StretchDIBits用这种格式绘未拉伸的图象快于另一种方式。
PD_STRETCHDIB _1_2_OK StretchDIBits用这种格式绘以1:2拉伸的图象快于另一种方式。
PD_STRETCHDIB _1_N_OK StretchDIBits用这种格式绘以1:N拉伸的图象快于另一种方式。
DrawDibRealize
UINT DrawDibRealize (
HDRAWDIB hdd ,
HDC hdc ,
BOOL fBackground
) ;
参数
hdd
hdc
fBackground
返回值
注意:
用DrawDibDraw函数并指定DDF_BACKGROUNDPAL标志来选择DrawDib DC的调色板作背景调色板。
DrawDibSetPalette
BOOL DrawDibSetPalette(
HDRAWDIB hdd ,
HPALETTE hpal
) ;
参数
hdd
hpal
返回值
DrawDibStart
DrawDibStart函数为流回放准备 DrawDib DC。
BOOL DrawDibStart(
HDRAWDIB hdd ,
LONG rate
);
参数
hdd
rate
返回值
DrawDibStop
BOOL DrawDibStop(
HDRAWDIB hdd
);
参数
hdd
返回值
成功返回TRUE,否则返回FALSE。
DrawDibTime
描述: 这个函数得到关于绘制操作的时间和调试操作的时间信息。
BOOL DrawDibTime(
HDRAWDIB hdd,
LPDRAWDIBTIME lpddtime
) ;
参数
hdd
lpddtime
返回值
注意