📄 20000727004.htm
字号:
time.timeDecompress,time.timeDither,<br>
time.timeStretch,time.timeBlt,<br>
time.timeSetDIBits); </p>
<p align="left">
AfxMessageBox(buf);</p>
<p align="left">
*/</p>
<p align="left">
DrawDibClose(hdd);</p>
<p align="left"> <font lang="ZH-CN">
}</font></p>
<p align="left">
else</p>
<p align="left">
AfxMessageBox("Error in DrawDibOpen");</p>
<p align="left">
GlobalUnlock(m_DibMem);//<font lang="ZH-CN">释放</font>DIB<font lang="ZH-CN">句柄</font></p>
<p align="left"> <font lang="ZH-CN">
}</font></p>
<p align="left"> </p>
<p align="left"><font lang="ZH-CN">附:函数参考:</font></p>
<p align="left"><b>DrawDibBegin</b></p>
<p align="left"> <font lang="ZH-CN">这个</font>DrawDib<font lang="ZH-CN">函数改变一个</font>DrawDib
DC<font lang="ZH-CN">的参数或初始化一个新的</font>DrawDib DC.</p>
<dir>
<dir>
<dir>
<p align="left">BOOL DrawDibBegin(</p>
<p align="left">HDRAWDIB <i>hdd</i>,<font lang="ZH-CN"> </font></p>
<p align="left">HDC <i>hdc</i>,<font lang="ZH-CN"> </font></p>
<p align="left">int <i>dxDest</i>,<font lang="ZH-CN"> </font></p>
<p align="left">int <i>dyDest</i>,<font lang="ZH-CN"> </font></p>
<p align="left">LPBITMAPINFOHEADER <i>lpbi</i>,<font lang="ZH-CN">
</font></p>
<p align="left">int <i>dxSrc</i>,<font lang="ZH-CN"> </font></p>
<p align="left">int <i>dySrc</i>,<font lang="ZH-CN"> </font></p>
<p align="left">UINT<b> </b><i>wFlags</i><font lang="ZH-CN"> </font></p>
<p align="left"><b>);</b></p>
</dir>
</dir>
</dir>
<p align="left"><font lang="ZH-CN">参数</font></p>
<p align="left"> hdd DrawDib DC<font lang="ZH-CN">的句柄</font></p>
<p align="left"> hdc <font lang="ZH-CN">绘图</font>DC<font lang="ZH-CN">的句柄。此参数为可选。</font></p>
<p align="left"> dxDst<font lang="ZH-CN">和</font>dyDst <font lang="ZH-CN">在</font>MM_TEXT<font lang="ZH-CN">方式下目的矩形的宽度和高度。</font></p>
<p align="left"> lpbi <font lang="ZH-CN">包含图象格式的</font>BITMAPINFOHEADER<font lang="ZH-CN">结构的地址。</font>DIB<font lang="ZH-CN">颜色表紧跟图象格式,并且</font>biHeight<font lang="ZH-CN">成员必须为一正值。</font></p>
<p align="left"> dxSrc<font lang="ZH-CN">和</font>dySrc <font lang="ZH-CN">源矩形的宽度和高度(以象素为单位)。</font></p>
<p align="left"> wFlags <font lang="ZH-CN">函数调用的可用标志。定义了以下的值: </font>
<dir>
<dir>
<p align="left">DDF_ANIMATE <font lang="ZH-CN">允许调色板动画。如果这个值被设置,通过在</font>LOGPALETTE<font lang="ZH-CN">结构中设置</font>palPalEntry<font lang="ZH-CN">成员</font>PC_RESERVED<font lang="ZH-CN">标志,则</font>DrawDib<font lang="ZH-CN">保存了尽可能多的入口,调用</font>drawDibChangePalette<font lang="ZH-CN">函数就可实现调色板动画。如果应用程序用了</font>DrawDibBegin<font lang="ZH-CN">函数协同</font>DrawDibDraw<font lang="ZH-CN">函数,最好在</font>DrawDibBegin<font lang="ZH-CN">中设置这个值而不在</font>DrawDibDraw<font lang="ZH-CN">中。</font></p>
<p align="left">DDF_BACKGROUNDPAL <font lang="ZH-CN">实现作为背景的调色板,保留当前显示所使用的调色板不变。(这个值与</font>DDF_SAME_HDC<font lang="ZH-CN">互斥。)</font></p>
<p align="left">DDF_BUFFER <font lang="ZH-CN">使</font>DrawDib<font lang="ZH-CN">使用屏幕缓冲,这样</font>DDF_UPDATE<font lang="ZH-CN">才可使用。这关闭了解压和直接绘屏。如果</font>DrawDib<font lang="ZH-CN">不能创建一个脱屏缓冲,就解压或直接绘屏。</font></p>
<p align="left">DDF_DONTDRAW <font lang="ZH-CN">当前图象未绘,但已解压。</font>DDF_UPDATE<font lang="ZH-CN">能够以后被用来绘图象。这个标志取代了</font>DDF_PREROLL<font lang="ZH-CN">标志。</font></p>
<p align="left">DDF_FULLSCREEN <font lang="ZH-CN">不被支持。</font></p>
<p align="left">DDF_HALFTONE <font lang="ZH-CN">不管</font>DIB<font lang="ZH-CN">的调色板如何而把</font>DIB<font lang="ZH-CN">抖动成标准调色板。如果应用程序用</font>DrawDibBegin<font lang="ZH-CN">协同</font>DrawDibDraw<font lang="ZH-CN">,在</font>DrawDibBegin<font lang="ZH-CN">中设置这个值而不在</font>DrawDibDraw<font lang="ZH-CN">中。</font></p>
<p align="left">DDF_JUSTDRAWIT <font lang="ZH-CN">用</font>GDI<font lang="ZH-CN">绘这图象。禁止</font>DrawDib<font lang="ZH-CN">函数解压,拉伸或抖动图象。这实际上剥夺了</font>DrawDib<font lang="ZH-CN">区别于</font>StrechDIBits<font lang="ZH-CN">函数的能力。</font></p>
<p align="left">DDF_SAME_DRAW <font lang="ZH-CN">让</font>DrawDibDraw<font lang="ZH-CN">使用当前的绘制参数。只有当从使用</font>DrawDibDraw<font lang="ZH-CN">或</font>DrawDibBegin<font lang="ZH-CN">起,</font>lpbi<font lang="ZH-CN">、</font>dxDext<font lang="ZH-CN">、</font>dyDest<font lang="ZH-CN">、</font>dxSrc<font lang="ZH-CN">和</font>dySrc<font lang="ZH-CN">就未改变才用这个值。这个标志取代了</font>DDF_SAME_DIB<font lang="ZH-CN">和</font>DDF_SAME_SIZE<font lang="ZH-CN">标志。</font></p>
<p align="left">DDF_SAME_HDC <font lang="ZH-CN">使用当前</font>DC<font lang="ZH-CN">句柄以及与当前句柄相关联的调色板。</font></p>
<p align="left">DDF_UPDATE <font lang="ZH-CN">最后缓存的图象需要绘制。如果用这个值绘制失败,则缓冲的图象不在有效,并且在显示被更新前,需要指定一幅新的图象。</font></p>
</dir>
</dir>
<p align="left"><font lang="ZH-CN">返回值</font></p>
<p align="left"><font lang="ZH-CN">成功返回</font>TRUE<font lang="ZH-CN">,否则</font>FALSE<font lang="ZH-CN">。</font></p>
<p align="left"> <font lang="ZH-CN">注</font> <font lang="ZH-CN">这个函数准备由</font>lpbi<font lang="ZH-CN">指定要绘往</font>DC<font lang="ZH-CN">的</font>DIB<font lang="ZH-CN">。图象已经拉伸成由</font>dxDest<font lang="ZH-CN">和</font>dyDest<font lang="ZH-CN">所指定的大小。如果</font>dxDest<font lang="ZH-CN">和</font>dyDest<font lang="ZH-CN">被设置成</font>-1<font lang="ZH-CN">,</font>DIB<font lang="ZH-CN">则被按原比例绘制。</font></p>
<p align="left"> <font lang="ZH-CN">可通过重新使用</font>DrawDibBegin<font lang="ZH-CN">,指定新的标志和改变至少一个以下的设置:</font>dxDest<font lang="ZH-CN">、</font>dyDest<font lang="ZH-CN">、</font>lpbi<font lang="ZH-CN">、</font>dxSrc<font lang="ZH-CN">或</font>dySrc<font lang="ZH-CN">来更新</font>DrawDib
DC<font lang="ZH-CN">的标志。</font></p>
<p align="left"> <font lang="ZH-CN">如果</font>DrawDibBegin<font lang="ZH-CN">的参数未被改变,再次调用这个函数将不起作用。</font></p>
<p align="left"><b>DrawDibChangePalette</b></p>
<p align="left"> <font lang="ZH-CN">这个函数设置绘</font>DIB<font lang="ZH-CN">所用的调色板。
</font>
<dir>
<dir>
<dir>
<p align="left">BOOL DrawDibChangePalette(</p>
<p align="left">HDRAWDIB <i>hdd</i>,<font lang="ZH-CN"> </font></p>
<p align="left">int <i>iStart</i>,<font lang="ZH-CN"> </font></p>
<p align="left">int <i>iLen</i>,<font lang="ZH-CN"> </font></p>
<p align="left">LPPALETTEENTRY <i>lppe</i><font lang="ZH-CN"> </font></p>
<p align="left">);</p>
</dir>
</dir>
</dir>
<p align="left"><font lang="ZH-CN">参数:</font></p>
<p align="left"> hdd DrawDib DC<font lang="ZH-CN">的句柄。</font></p>
<p align="left"> iStart <font lang="ZH-CN">调色板开始数。</font></p>
<p align="left"> iLen <font lang="ZH-CN">调色板的数目。</font></p>
<p align="left"> lppe <font lang="ZH-CN">调色板阵列的地址。</font></p>
<p align="left"><font lang="ZH-CN">返回值</font></p>
<p align="left"><font lang="ZH-CN">成功返回</font>TRUE<font lang="ZH-CN">,否则</font>FALSE<font lang="ZH-CN">。</font></p>
<p align="left"> <font lang="ZH-CN">注 只有当当前</font>DrawDib<font lang="ZH-CN">调色板是调用</font>DrawDibRealize<font lang="ZH-CN">函数实现时,这个函数改变物理调色板。</font></p>
<p align="left"> <font lang="ZH-CN">如果颜色表没有改变,下次没有指定</font>DDF_SAME_DRAW<font lang="ZH-CN">的</font>DrawDibDraw<font lang="ZH-CN">函数将隐含地调用</font>DrawDibBegin<font lang="ZH-CN">函数。</font></p>
<p align="left"><b>DrawDibClose</b></p>
<p align="left"> <font lang="ZH-CN">这个函数关闭一个</font>DrawDib DC<font lang="ZH-CN">并释放</font>DrawDib<font lang="ZH-CN">申请的资源。
</font>
<dir>
<p align="left">BOOL DrawDibClose(</p>
</dir>
<p align="left"> HDRAWDIB <i>hdd</i><font lang="ZH-CN"> </font></p>
<p align="left"> );<font lang="ZH-CN"> </font></p>
<p align="left"><font lang="ZH-CN">参数</font></p>
<p align="left"> hdd DrawDib DC<font lang="ZH-CN">的句柄。</font></p>
<p align="left"><font lang="ZH-CN">返回值</font></p>
<p align="left"><font lang="ZH-CN">成功返回</font>TRUE<font lang="ZH-CN">,否则</font>FALSE<font lang="ZH-CN">。</font></p>
<p align="left"><b>DrawDibDraw</b></p>
<p align="left"> <font lang="ZH-CN">这个函数将</font>DIB<font lang="ZH-CN">绘至屏幕。
</font>
<dir>
<dir>
<dir>
<p align="left">BOOL DrawDibDraw(</p>
<p align="left">HDRAWDIB <i>hdd</i>,<font lang="ZH-CN"> </font></p>
<p align="left">HDC <i>hdc</i>,<font lang="ZH-CN"> </font></p>
<p align="left">int <i>xDst</i>,<font lang="ZH-CN"> </font></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -