3.1 VC图形编程基础

(24页)

'3.1 VC图形编程基础'
计算机图形学 第3讲 VC图形编程基础华中科技大学机械学院CAD中心吴义忠 13545009970cad.wyz@hust.edu.cn 参考文献¢ Visual C++技术内幕,David J. Kruglinski ¢ Visual C++实践与提高-图形图像编程 篇,李于剑¢ Visual C++图形编程技巧与实例,谭明 金主要内容¢ 3.1 VC程序框架¢ 3.2 基本图形编程支持¢ 3.3 实例¢ C# / WPF¢ SilverLight¢ Java2D/3D平台和库¢ C++语言 l Visual C++ 6.0 l Visual C++ 2003 l Visual C++ 2005/2008/2010¢ 操作系统 l Windows 2000/XP/2003 l Windows 7¢ 库 l SDK l MFC l STL l Boost几种常用应用程序类型Win32¢ 控制台程序¢ Windows程序¢ DLL 、LIBMFC支持¢ ActiveX控件¢ MFC窗口程序¢ DLLWindows程序特点¢ 面向对象¢ 消息机制¢ 隐含的主过程//创建窗口、视和文档等//进入CWinApp的Run主循环While(1) PeekMessage(); PostMessage();end3.1 VC程序框架¢ MFC窗口应用程序:单文档、多文档、 基于对话框¢ AppWizard产生的文件类型¢ 几个概念: l 应用app l 窗口frmwnd l 视窗view l 文档doc程序类结构类函数VS 2010简介¢ 菜单介绍¢ 解决方案¢ 项目设置¢ 选项¢ 程序调试¢ 编辑助手¢ MSDNMFC界面设计¢ 菜单¢ 对话框、对话框条¢ 工具条、状态条¢ 位图¢ BCGControlBar¢ WPF3.2 VC图形支持¢ 绘图环境¢ GDI对象¢ 基本图元绘制视窗内画图¢ Windows图形编程主要是利用图形设备接 口(GDI)中的相关函数实现的。通过确定设备 环境(DC)的“状态”,以确定图形的颜色、 尺寸等同性。为了使用GDI和DC来绘图必须 完成以下工作: l 确定GDI绘图对象,如画笔、画刷和字体等。 l 确定绘制时的缩放尺寸的映射模式。 l 确定其他细节,如文本的对齐参数,多边形 的填充状态等。 DC设备环境¢ Windows窗口可GetDC(一般可以5个公共的DC,用后 及时释放ReleaseDC),应用程序通过DC绘制图形,在 窗口内显示¢ MFC提供的DC类对象: l HDC句柄, CDC对象 l CDC派生类 GDI类-CGdiObject 参考MSDNCBitmap——位图是一种位矩阵,每 个显示像素都对应于其中的一个或多个位。用户可以利用位图来表示图像,也可以利用它来创建画刷。CBrush——画刷定义了一种位图形式的像素,利用它可对区域内部填充颜色。CFont——字体是一种具有某种风格和尺寸的所有字符的完整集合,它常常被当作资源存于磁盘中,其中有一些还依赖于某种设备。CPen——画笔是一种用来画线及绘制有形边框的工具,用户可以指定它的颜色及厚度,井民可以指定它画实线、点线或虚线。CRgn——区域是由多边形、椭圆或二者组合形成的—种范围,可以利用它来进行填充、裁剪以及鼠标点中测试。CPalette——调色板是一种颜色映射接口,它允许应用程序在不干扰其他应用程序的前提下,充分利用输出设备的颜色描绘能力。图形显示CWnd::OnDraw() ?基本图元绘制¢ CDC类的成员函数调用 l 点:SetPixel l 线段:Moveto、Lineto l 圆弧:Arc l 椭圆和圆:Ellipse l 矩形:Rectangle l …Windows下图形显示的8种映射模式(SetMapMode函数) 逻辑座标与设备座标的转换¢ 逻辑座标——CDC函数的参数均以逻辑座标 表示,映射模式为MM_TEXT时,逻辑坐标就 是像素¢ 设备座标——屏幕座标,鼠标拾取点时获得 的为屏幕座标,为像素值¢ 转换方法(CDC成员函数) 映射模式设置与测试 void CTest1View::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo) { // TODO: 在此添加专用代码和/或调用基类 CView::OnPrepareDC(pDC, pInfo); pDC->SetMapMode(MM_TWIPS); //不能影响后面的nMap }pDC->SetMapMode(MM_TEXT);CPoint p0(0,0);pDC->LPtoDP(&p0); //原点不变CPoint p1(100,100);pDC->LPtoDP(&p1); //大小也不变pDC->SetMapMode(MM_TWIPS);CPoint p2(0,0);pDC->LPtoDP(&p2); //原点不变CPoint p3(100,100);pDC->LPtoDP(&p3); //按比例变化 100*1/1440 in => 转变成像素值CPoint p4(100,100);pDC->DPtoLP(&p4); 逻辑坐标、设备坐标、世界坐标¢ SetMapMode(MM_TEXT)时逻辑坐标系与 设备坐标系一致¢ 在实际作图中,世界坐标系与设备坐标系如 何转换?设置绘制模式SetROP2¢ R2_BLACK Pixel is always black.¢ R2_WHITE Pixel is always white.¢ R2_NOP Pixel remains unchanged.¢ R2_NOT Pixel is the inverse of the screen color.¢ R2_COPYPEN Pixel is the pen color. (default)¢ R2_NOTCOPYPEN Pixel is the inverse of the pen color.¢ ……3.3 简单画线实例¢ Step1——建立应用程序¢ Step2——实现画线功能¢ Step3——鼠标拖动橡皮筋¢ Step4——窗口刷新显示¢ Step5——CLine对象设计¢ Step6——改变线型¢ Step7——改变颜色上机练习¢ 完成各种基本图形(多线段、矩形、 圆、圆弧、多边形、文本等),采用 鼠标交互作图。¢ 考虑:绘制的图形如何存储、打开?¢ 考虑:如何改变显示窗口? 计算机图形学 第3讲 VC图形编程基础华中科技大学机械学院CAD中心吴义忠 13545009970cad.wyz@hust.edu.cn 参考文献¢ Visual C++技术内幕,David J. Kruglinski ¢ Visual C++实践与提高-图形图像编程 篇,李于剑¢ Visual C++图形编程技巧与实例,谭明 金主要内容¢ 3.1 VC程序框架¢ 3.2 基本图形编程支持¢ 3.3 实例¢ C# / WPF¢ SilverLight¢ Java2D/3D平台和库¢ C++语言 l Visual C++ 6.0 l Visual C++ 2003 l Visual C++ 2005/2008/2010¢ 操作系统 l Windows 2000/XP/2003 l Windows 7¢ 库 l SDK l MFC l STL l Boost几种常用应用程序类型Win32¢ 控制台程序¢ Windows程序¢ DLL 、LIBMFC支持¢ ActiveX控件¢ MFC窗口程序¢ DLLWindows程序特点¢ 面向对象¢ 消息机制¢ 隐含的主过程//创建窗口、视和文档等//进入CWinApp的Run主循环While(1) PeekMessage(); PostMessage();end3.1 VC程序框架¢ MFC窗口应用程序:单文档、多文档、 基于对话框¢ AppWizard产生的文件类型¢ 几个概念: l 应用app l 窗口frmwnd l 视窗view l 文档doc程序类结构类函数VS 2010简介¢ 菜单介绍¢ 解决方案¢ 项目设置¢ 选项¢ 程序调试¢ 编辑助手¢ MSDNMFC界面设计¢ 菜单¢ 对话框、对话框条¢ 工具条、状态条¢ 位图¢ BCGControlBar¢ WPF3.2 VC图形支持¢ 绘图环境¢ GDI对象¢ 基本图元绘制视窗内画图¢ Windows图形编程主要是利用图形设备接 口(GDI)中的相关函数实现的。通过确定设备 环境(DC)的“状态”,以确定图形的颜色、 尺寸等同性。为了使用GDI和DC来绘图必须 完成以下工作: l 确定GDI绘图对象,如画笔、画刷和字体等。 l 确定绘制时的缩放尺寸的映射模式。 l 确定其他细节,如文本的对齐参数,多边形 的填充状态等。 DC设备环境¢ Windows窗口可GetDC(一般可以5个公共的DC,用后 及时释放ReleaseDC),应用程序通过DC绘制图形,在 窗口内显示¢ MFC提供的DC类对象: l HDC句柄, CDC对象 l CDC派生类 GDI类-CGdiObject 参考MSDNCBitmap——位图是一种位矩阵,每 个显示像素都对应于其中的一个或多个位。用户可以利用位图来表示图像,也可以利用它来创建画刷。CBrush——画刷定义了一种位图形式的像素,利用它可对区域内部填充颜色。CFont——字体是一种具有某种风格和尺寸的所有字符的完整集合,它常常被当作资源存于磁盘中,其中有一些还依赖于某种设备。CPen——画笔是一种用来画线及绘制有形边框的工具,用户可以指定它的颜色及厚度,井民可以指定它画实线、点线或虚线。CRgn——区域是由多边形、椭圆或二者组合形成的—种范围,可以利用它来进行填充、裁剪以及鼠标点中测试。CPalette——调色板是一种颜色映射接口,它允许应用程序在不干扰其他应用程序的前提下,充分利用输出设备的颜色描绘能力。图形显示CWnd::OnDraw() ?基本图元绘制¢ CDC类的成员函数调用 l 点:Set
关 键 词:
3.1VC图形编程基础
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:3.1 VC图形编程基础
链接地址: https://www.wenku365.com/p-44790679.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 https://www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开