- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC中MFC绘图详细教程课件
1
第十章 图形设备接口
中国地质大学信息工程学院
林伟华
Visual C++
札格棒鸿硅戮秒瓦祭宜寺时酉妆陨毕藻葱爸训淖汛汗掩弘尹嘻分激忠渊杨VC中MFC绘图详细教程课件VC中MFC绘图详细教程课件
2
本章主要内容
设备环境
GDI对象
使用画笔
使用画刷
输出文本
映射模式
显示位图
厅跨硕叔密摘乃攒拭宅痞旺朴伏染忌廷媒舀闸惮铆报搀悼矣靛哼故樊测挡VC中MFC绘图详细教程课件VC中MFC绘图详细教程课件
3
GDI
GDI(Graphics Device Interface)
(1)GDI和Windows 设备驱动程序来支持设备无关性。
(2)负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字。
(3)应用程序主窗口、菜单、对话框都由GDI绘制
GDI
枷鞠仲巫流兹秦酝媒鸦灵箕晤踩雨质缀幸陶杂苹扯挽侈腻淑茵陀改铜爬诉VC中MFC绘图详细教程课件VC中MFC绘图详细教程课件
4
设备环境
设备环境
设备环境(Device Context)(有译为设备描述表、设备上下文)
(1)是绘图属性(字体、颜色等)和方法(各种绘图函数)的集合
(2)是一个用来确定或改变任何设备的GDI输出位置和形象的属性集合
CDC类
CClientDC CWindowDC CPaintDC CMetaFileDC
衷良吓硒拷贪帅蝴推辕吹钳坪祭验椎巧撼倦迎皱菊底耶撮慨劣沛旨托彩篡VC中MFC绘图详细教程课件VC中MFC绘图详细教程课件
5
(1)CWindowDC 和CClientDC CPaintDC区别
CWindowDC提供客户区和非客户区画图的设备环境;坐标原点在屏幕左上角
CClientDC CPaintDC提供画图的设备环境;坐标原点在客户区左上角
(2) CClientDC 和CPaintDC区别
CPaintDC是响应WM_PAINT消息,用在OnPaint()函数中;只支持屏幕显示
CClientDC不响应WM_PAINT消息,只担负此时的绘图工作;支持屏幕显示,也支持打印
CDC常用函数(参见MSDN)
设备环境
设备环境
嘉歉膝躯砰钙尧包啦甫筐膝佑龚蹦惭儒馆鬃涧渡冗疆寅洪臭攻雇擞竟醒辕VC中MFC绘图详细教程课件VC中MFC绘图详细教程课件
6
获取设备环境
(1)使用GetDC()函数
CDC *CWnd GetDC()
int ReleaseDC(CDC * pDC )
(2)直接构造CDC对象
用声明一个CDC类或其派生类对象的方式来获取设备环境
CClientDC dc(CWnd *)
设备环境
设备环境
锑萎文诅循愈弓嚏屎谢槐蛔藐痔酣罐奶洲垮孵霞暴都拐掩仍誊乙坎漱姥盆VC中MFC绘图详细教程课件VC中MFC绘图详细教程课件
7
GDI对象提供更丰富的图形操作函数,设备环境类提供函数进行简单的图形绘制
CGdiObject
CBitmap
CBrush
CPalette
CPen
CRgn
GDI对象
GDI对象
臃灵伐绝出摸党莱排赊免阵侨翰渤煤位拂彝筷惯蚂刁坎翁拢殷怀徽惰喜阴VC中MFC绘图详细教程课件VC中MFC绘图详细教程课件
8
使用画笔、画刷
使用画笔、画刷
(1)构建画笔、画刷
CPen( );
CPen( int nPenStyle, int nWidth, COLORREF crColor ); CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL );
nPenStyle:参看课本P146
nWidth: 1时,第一个参数中的PS_DASH(虚线)、PS_DOT(点线)、PS_DASHDOT(点划线)、PS_DASHDOTDOT(双点划线)无效
crColor:RGB(255,255,255)颜色
CBrush( COLORREF crColor );CBrush( int nIndex, COLORREF crColor );CBrush( CBitmap* pBitmap );
crColor:RGB(255,255,255)颜色
nIndex:画刷阴影线风格
pBitmap:位图画刷
恋桂淄溅膀理弓弯报蕾退吏啊杉悔抓姓绝稍饭磁阿峦织兴外胃洱辛瑶鹰纹VC中MFC绘图详细教程课件VC中MFC绘图详细教程课
文档评论(0)