DDF_SAME_HDC 使用当前DC句柄以及与当前句柄相关联的调色板。
DDF_UPDATE 最后缓存的图象需要绘制。如果用这个值绘制失败,则缓冲的图象不在有效,并且在显示被更新前,需要指定一幅新的图象。
返回值
成功返回TRUE,否则FALSE。
注 这个函数准备由lpbi指定要绘往DC的DIB。图象已经拉伸成由dxDest和dyDest所指定的大小。如果dxDest和dyDest被设置成-1,DIB则被按原比例绘制。
可通过重新使用DrawDibBegin,指定新的标志和改变至少一个以下的设置:dxDest、dyDest、lpbi、dxSrc或dySrc来更新DrawDib DC的标志。
如果DrawDibBegin的参数未被改变,再次调用这个函数将不起作用。
DrawDibChangePalette
这个函数设置绘DIB所用的调色板。
BOOL DrawDibChangePalette(
HDRAWDIB hdd,
int iStart,
int iLen,
LPPALETTEENTRY lppe
);
参数:
hdd DrawDib DC的句柄。
iStart 调色板开始数。
iLen 调色板的数目。
lppe 调色板阵列的地址。
返回值
成功返回TRUE,否则FALSE。
注 只有当当前DrawDib调色板是调用DrawDibRealize函数实现时,这个函数改变物理调色板。
如果颜色表没有改变,下次没有指定DDF_SAME_DRAW的DrawDibDraw函数将隐含地调用DrawDibBegin函数。
DrawDibClose
这个函数关闭一个DrawDib DC并释放DrawDib申请的资源。
BOOL DrawDibClose(
HDRAWDIB hdd
);
参数
hdd DrawDib DC的句柄。
返回值
成功返回TRUE,否则FALSE。
DrawDibDraw
这个函数将DIB绘至屏幕。
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 DrawDib DC的句柄。
hdc DC的句柄。
xDst和yDst 在MM_TEXT坐标系,目标矩形左上角的x和y坐标。
dxDst和dyDst 在MM_TEXT坐标系下,目标矩形的宽度和高度。如果dxDst为-1,则使用位图的宽度;如果dyDst为-1,则使用位图的高度。
lpbi 包含图象格式的BITMAPINFOHEADER结构的地址。DIB的颜色表紧跟着格式后,并且biHeight成员必须为正值;DrawDibDraw不能绘制倒置的DIB。
lpbits 包含位图位的缓冲的地址。
xSrc和ySrc 以象素为单位,源矩形左上角的x和y坐标。坐标(0,0)是位图的左上角。
dxSrc和dySrc 以象素为单位,源矩形的宽度和高度。
wFlags 可用的绘图标志。如下值被定义:
DDF_BACKGROUNDPAL 实现作为背景的调色板,保留当前显示所使用的调色板不变。这个值只有当DDF_SAME_HDC未被设置时才有效。
DDF_DONTDRAW 当前图象已解压但未绘。stretchdibits这个标志取代了DDF_PREROLL标志。
DDF_FULLSCREEN 不被支持。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-30454-7.html
甚至对我们示好
知耻而后勇