VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕

VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕

ID:40714270

大小:28.84 KB

页数:3页

时间:2019-08-06

VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕_第1页
VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕_第2页
VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕_第3页
资源描述:

《VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)上一节中鸡啄米讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数。CDC类简介CDC类是一个设备上下文类。CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户区关联的显示上下文的成员函数。使用CDC的成员函数可以进行所有的绘图操作,包括处理绘图工具、GDI对象的选择、颜色和调色板的处理、获取和设置绘图属性、映射、窗口范围、坐标转换、剪切以及绘制直线、简单图形、椭圆和多边形等,另外它还为文本输出、处理字体、使用打印机跳

2、转和滚动等提供了成员函数。如上所述,CDC类几乎封装了所有的WindowsGDI函数,另外,MFC中还有几个由CDC类派生的子类,包括CWindowDC、CPaintDC、CClientDC、CMetaFileDC,它们用来进行一些特定的绘图操作。一般我们在使用完CDC对象后要记得删除它,否则会有内存泄露。很多情况下我们可以调用CWnd::GetDC()函数来获取设备上下文指针,即CDC指针,这个时候记得用完后调用CWnd::ReleaseDC()函数释放设备上下文。CDC类的屏幕绘图成员函数CDC类有很多成员函数,鸡啄米在

3、这里只大概讲下比较常用的绘图函数,包括绘制点、直线、矩形、椭圆、多边形、文本以及位图等的成员函数。COLORREFSetPixel(intx,inty,COLORREFcrColor);COLORREFSetPixel(POINTpoint,COLORREFcrColor);上面两个成员函数用来将指定坐标点的像素设置为指定的颜色,这样就实现了画点功能。参数x为点的逻辑x坐标;参数y为点的逻辑y坐标;参数crColor为要为点设置的颜色;参数point指定点的逻辑x坐标和逻辑y坐标,可以为其传入POINT结构体变量或者CPoi

4、nt对象。CPointMoveTo(intx,inty);CPointMoveTo(POINTpoint);将当前点移动到指定位置。参数x指定新位置的逻辑x坐标;参数y指定新位置的逻辑y坐标;参数point指定新位置的逻辑x坐标和逻辑y坐标,可以为其传入POINT结构体变量或者CPoint对象。BOOLLineTo(intx,inty);BOOLLineTo(POINTpoint);绘制一条从当前点到指定点(不包括指定点)的直线。参数x为指定点的逻辑x坐标;参数y为指定点的逻辑y坐标;参数point为指定点的逻辑x坐标和逻辑

5、y坐标。一般我们绘制直线时就可以先调用MoveTo函数移动当前点到某个位置,然后调用LineTo画直线。BOOLRectangle(intx1,inty1,intx2,inty2);BOOLRectangle(LPCRECTlpRect);使用当前画笔绘制矩形。参数x1指定矩形左上角的x坐标;参数y1指定矩形左上角的y坐标;参数x2指定矩形右下角的x坐标;参数y2指定矩形右下角的y坐标;以上坐标均为逻辑单位。参数lpRect为矩形对象的指针,可以为其传入CRect对象或RECT结构体变量的指针。BOOLEllipse(int

6、x1,inty1,intx2,inty2);BOOLEllipse(LPCRECTlpRect);绘制椭圆。参数x1指定椭圆的包围矩形左上角的x坐标;参数y1指定椭圆的包围矩形左上角的y坐标;参数x2指定椭圆的包围矩形右下角的x坐标;参数y2指定椭圆的包围矩形右下角的y坐标;以上坐标均为逻辑单位。参数lpRect指定椭圆的包围矩形,可以传入CRect对象或RECT结构体变量的指针。BOOLPolyline(LPPOINTlpPoints,intnCount);由指定的多边形顶点绘制多边形。参数lpPoints为指向一个POI

7、NT结构体变量数组或CPoint对象数组的指针,其中的POINT结构体变量或CPoint对象代表了多边形顶点的坐标;参数nCount为数组中点的个数,至少为2。virtualBOOLTextOut(intx,inty,LPCTSTRlpszString,intnCount);BOOLTextOut(intx,inty,constCString&str);使用当前选择的字体在指定位置输出文本。参数x指定文本起始点的x坐标;参数y指定文本起始点的y坐标;参数lpszString为要输出的文本字符串;参数nCount指定字符串中的

8、字节个数;参数str为包含要输出的字符的CString对象。这两个函数在上一节中其实已经讲到了。BOOLBitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrcDC,intxSrc,intySrc,DWORDdwRop );从源设备上下文拷贝一幅位图到当

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。