已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机图形学第3讲VC图形编程基础,华中科技大学机械学院CAD中心吴义ad.wyz,参考文献,VisualC+技术内幕,DavidJ.KruglinskiVisualC+实践与提高图形图像编程篇,李于剑VisualC+图形编程技巧与实例,谭明金,主要内容,3.1VC程序框架3.2基本图形编程支持3.3实例C#/WPFSilverLightJava2D/3D,平台和库,C+语言VisualC+6.0VisualC+2003VisualC+2005/2008/2010操作系统Windows2000/XP/2003Windows7库SDKMFCSTLBoost,几种常用应用程序类型,Win32控制台程序Windows程序DLL、LIBMFC支持ActiveX控件MFC窗口程序DLL,Windows程序特点,面向对象消息机制隐含的主过程/创建窗口、视和文档等/进入CWinApp的Run主循环While(1)PeekMessage();PostMessage();end,3.1VC程序框架,MFC窗口应用程序:单文档、多文档、基于对话框AppWizard产生的文件类型几个概念:应用app窗口frmwnd视窗view文档doc,程序类结构,类函数,VS2010简介,菜单介绍解决方案项目设置选项程序调试编辑助手MSDN,MFC界面设计,菜单对话框、对话框条工具条、状态条位图BCGControlBarWPF,3.2VC图形支持,绘图环境GDI对象基本图元绘制,视窗内画图,Windows图形编程主要是利用图形设备接口(GDI)中的相关函数实现的。通过确定设备环境(DC)的“状态”,以确定图形的颜色、尺寸等同性。为了使用GDI和DC来绘图必须完成以下工作:确定GDI绘图对象,如画笔、画刷和字体等。确定绘制时的缩放尺寸的映射模式。确定其他细节,如文本的对齐参数,多边形的填充状态等。,DC设备环境,Windows窗口可GetDC(一般可以5个公共的DC,用后及时释放ReleaseDC),应用程序通过DC绘制图形,在窗口内显示MFC提供的DC类对象:HDC句柄,CDC对象CDC派生类,GDI类CGdiObject参考MSDN,CBitmap位图是一种位矩阵,每个显示像素都对应于其中的一个或多个位。用户可以利用位图来表示图像,也可以利用它来创建画刷。CBrush画刷定义了一种位图形式的像素,利用它可对区域内部填充颜色。CFont字体是一种具有某种风格和尺寸的所有字符的完整集合,它常常被当作资源存于磁盘中,其中有一些还依赖于某种设备。CPen画笔是一种用来画线及绘制有形边框的工具,用户可以指定它的颜色及厚度,井民可以指定它画实线、点线或虚线。CRgn区域是由多边形、椭圆或二者组合形成的种范围,可以利用它来进行填充、裁剪以及鼠标点中测试。CPalette调色板是一种颜色映射接口,它允许应用程序在不干扰其他应用程序的前提下,充分利用输出设备的颜色描绘能力。,图形显示CWnd:OnDraw()?,基本图元绘制,CDC类的成员函数调用点:SetPixel线段:Moveto、Lineto圆弧:Arc椭圆和圆:Ellipse矩形:Rectangle,Windows下图形显示的8种映射模式(SetMapMode函数),逻辑座标与设备座标的转换,逻辑座标CDC函数的参数均以逻辑座标表示,映射模式为MM_TEXT时,逻辑坐标就是像素设备座标屏幕座标,鼠标拾取点时获得的为屏幕座标,为像素值转换方法(CDC成员函数),映射模式设置与测试,voidCTest1View:OnPrepareDC(CDC*pDC,CPrintInfo*pInfo)/TODO:在此添加专用代码和/或调用基类CView:OnPrepareDC(pDC,pInfo);pDC-SetMapMode(MM_TWIPS);/不能影响后面的nMap,pDC-SetMapMode(MM_TEXT);CPointp0(0,0);pDC-LPtoDP(,逻辑坐标、设备坐标、世界坐标,SetMapMode(MM_TEXT)时逻辑坐标系与设备坐标系一致在实际作图中,世界坐标系与设备坐标系如何转换?,设置绘制模式SetROP2,R2_BLACKPixelisalwaysblack.R2_WHITEPixelisalwayswhite.R2_NOPPixelremainsunchanged.R2_NOTPixelistheinverseofthescreencolor.R2_COPYPENPixelisthepencolor.(default)R2_NOTCOPYPENPixelistheinverseofthepencolor.,3.3简单画线实例,Step1建立应用程序Step2实现画线功能Step3鼠标拖动橡皮筋Step4窗口刷新显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高考数学考前20天冲刺讲义(一)(解析版)
- 企业办公费用管理系统
- 企业数据备份方案
- 会计学教程答案
- 冬季服装促销活动方案
- 会计的实习总结
- 2026 学龄前自闭症穿鞋袜训练课件
- 健康饮食养生秘诀
- 重庆西南大学附中高2026届高考全真模拟试题物理+答案
- 2026 学龄前自闭症感统训练课件
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
- 北京玉渊潭中学英语新初一分班试卷含答案
- 员工入职通知书
- 浙江2023年三支一扶考试真题
- 《小数的初步认识》单元作业设计
- 正确的药物服用方法培训专家讲座
- (中职)移动电子商务营销第十一章 APP运营与推广教学课件()
- 项目部驻地建设方案74730
- GB 4806.8-2022食品安全国家标准食品接触用纸和纸板材料及制品
- GB/T 3299-2011日用陶瓷器吸水率测定方法
- GB 4806.1-2016食品安全国家标准食品接触材料及制品通用安全要求
评论
0/150
提交评论