vc中mfc绘图详细教程

vc中mfc绘图详细教程

ID:21990005

大小:364.00 KB

页数:16页

时间:2018-10-21

vc中mfc绘图详细教程_第1页
vc中mfc绘图详细教程_第2页
vc中mfc绘图详细教程_第3页
vc中mfc绘图详细教程_第4页
vc中mfc绘图详细教程_第5页
资源描述:

《vc中mfc绘图详细教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第十章图形设备接口中国地质大学信息工程学院林伟华VisualC++2本章主要内容设备环境GDI对象使用画笔使用画刷输出文本映射模式显示位图3GDIGDI(GraphicsDeviceInterface)(1)GDI和Windows设备驱动程序来支持设备无关性。(2)负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字。(3)应用程序主窗口、菜单、对话框都由GDI绘制GDI4设备环境设备环境设备环境(DeviceContext)(有译为设备描述表、设备上下文)(1)是绘图属性(字体、颜色等)和方法(各种绘图函数)的集合(2)是一个用来确定或改变任何设备的GDI

2、输出位置和形象的属性集合CDC类CClientDCCWindowDCCPaintDCCMetaFileDC5(1)CWindowDC和CClientDCCPaintDC区别CWindowDC提供客户区和非客户区画图的设备环境;坐标原点在屏幕左上角CClientDCCPaintDC提供画图的设备环境;坐标原点在客户区左上角(2)CClientDC和CPaintDC区别CPaintDC是响应WM_PAINT消息,用在OnPaint()函数中;只支持屏幕显示CClientDC不响应WM_PAINT消息,只担负此时的绘图工作;支持屏幕显示,也支持打印CDC常用函数(参见MSDN)设备环境

3、设备环境6获取设备环境(1)使用GetDC()函数CDC*CWndGetDC()intReleaseDC(CDC*pDC)(2)直接构造CDC对象用声明一个CDC类或其派生类对象的方式来获取设备环境CClientDCdc(CWnd*)设备环境设备环境7GDI对象提供更丰富的图形操作函数,设备环境类提供函数进行简单的图形绘制CGdiObjectCBitmapCBrushCPaletteCPenCRgnGDI对象GDI对象8使用画笔、画刷使用画笔、画刷(1)构建画笔、画刷CPen();CPen(intnPenStyle,intnWidth,COLORREFcrColor); CPen

4、(intnPenStyle,intnWidth,constLOGBRUSH*pLogBrush,intnStyleCount=0,constDWORD*lpStyle=NULL);nPenStyle:参看课本P146nWidth:>1时,第一个参数中的PS_DASH(虚线)、PS_DOT(点线)、PS_DASHDOT(点划线)、PS_DASHDOTDOT(双点划线)无效crColor:RGB(255,255,255)颜色CBrush(COLORREFcrColor); CBrush(intnIndex,COLORREFcrColor); CBrush(CBitmap*pBitma

5、p);crColor:RGB(255,255,255)颜色nIndex:画刷阴影线风格pBitmap:位图画刷9(2)选入画笔:将该画笔选入到设备环境中CPen*SelectObject(CPen*pPen)CBrush*SelectObject(CBrush*pBrush)virtualCFont*SelectObject(CFont*pFont)intSelectObject(CRgn*pRgn)(3)调用绘图函数输出使用画笔、画刷使用画笔、画刷10输出文本输出文本(1)声明字体对象CFontNewFont;(2)创建字体CreateFont(intnheight,intnW

6、idth,//高,宽intnEscapement,//每行文字相以于页底的角intnOrienation,//每个…..DWORDnWeight,//字体粗细DWORDdwltalic,//非零表示倾斜DWORDdwUnderline,//非零表示下划线DWORDdwStrikeout,//非零表示中划线DWORDdwCharset,//字符集DWORDdwOutputPrecision,//输出精度DWORDdwClipPrecision,//剪裁精度DWORDdwQuality,//输出质量DWORDdwPitchAndFamily,//字体系列DWORDlpszFaceNa

7、me//字体名称};11NewFont.CreateFont()(3)将新字体选入设备环境pDC->SelectObject()(4)用TextOut()输出输出文本输出文本12映射模式坐标系统可分为逻辑坐标、设备坐标.窗口:逻辑坐标系上程序员设置的一个区域。视口:实际输出设备(物理设备坐标系)上程序员设定的一个区域。映像模式的设置SetMapMode(hdc,nMapMode);//设置映像模式nMapMode=GetMapMode(hdc);//得到映像模式SetWindow

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

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

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