VC++绘图介绍.ppt

VC++绘图介绍.ppt

ID:49100708

大小:1.32 MB

页数:56页

时间:2020-01-31

VC++绘图介绍.ppt_第1页
VC++绘图介绍.ppt_第2页
VC++绘图介绍.ppt_第3页
VC++绘图介绍.ppt_第4页
VC++绘图介绍.ppt_第5页
资源描述:

《VC++绘图介绍.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机图形学实验应达到的实验能力标准1.实现多边形的图形显示,掌握实区域图形显示的原理和处理过程。2.掌握图形变换及投影显示。3.掌握图形显示中的裁剪过程。4.掌握曲线绘制的方法。*5.掌握形体的表示及相互间的操作。*6.掌握分形的原理及实现方法。*7.掌握消隐的原理及处理方法。序号实验项目内容提要1编程环境了解VC编程环境,及相应编辑器。掌握基本绘图语句。2图形扫描转换多边形的填充。(多边形的扫描转换算法)3图形变换立方体的比例、平移、旋转及投影显示。4裁剪矩形窗口对多边形的裁剪。(Sutherland-Hodgman多边形裁剪算法)5曲线

2、hermite曲线、bezier曲线及B样条曲线如何建立一个VC++应用程序框架文件:编辑状态下的窗口布局调试状态下的窗口布局一.MFC绘图函数:1.1生成设备环境对象设备环境是一个对窗口的绘图表面的属性保持跟踪的数据结构。这些属性包括用于在屏幕上绘图的当前所使用的画笔和画刷。与可以同时使用很多画刷和画笔的艺术家不同,设备环境每次只能用一种画笔和一种画刷。而设备环境对象就是设备环境类的一个实例,它设置了绘图工具,并提供了绘制点,线等简单图形的绘图函数。所有的绘图工作都要通过设备环境对象来实现。例如,如果想用一个能够画粗线条的画笔,就必须创建一

3、个新画笔,然后用它取代设备环境中原有的画笔。类似的,如果想用红色的画刷填充一个图形,必须创建一个画刷,并将它选进设备环境,这就是Windows程序员在设备环境中取代工具的方式。下面简单介绍几种设备环境:①.CDC设备环境对象类,是其它设备环境的基类。一般情况下,应用程序都要在View(视图)类中来进行绘图,视图窗口绘制或者重绘,应用程序框架都要调用视图类的OnDraw成员函数。voidCMyDrawView::OnDraw(CDC*pDC){//TODO:adddrawcodefornativedatahere}②.CPaintDC构造函数调

4、用BeginPaint,析构函数调用EndPaint。有时在视图窗口以外的窗口(如对话框)中绘制图形,需要调用窗口类的WM_PAINT的消息处理函数OnPaint来绘制或者重绘窗口,OnPaint函数必须生成由CPaintDC类派生的设备环境对象,如下所示:voidCMyDialog::OnPaint(){CPaintDCdc(this);}(*)CPaintDCdc(this);创建一个名为dc的设备环境对象,而this指向当前的对话框。这样就可以在对话框画图了。注意:由于视图类窗口也是窗口的一类,所以视图窗口要绘制时也收到WM_PAINT

5、的消息,但是Cview提供一个OnPaint函数,生成和准备设备环境对象,然后将对象传入OnDraw函数。只有不从视图类派生的窗口类才需要提供自己的OnPaint函数做各种窗口绘图工作。③.CClientDC这个设备环境对象仅仅代表了当前窗口区域。它的构造函数调用GetDC函数,它的析构函数调用ReleaseDC函数。对于在OnDraw和OnPaint处理器之外的函数中显示图形,必须生成CClientDC类成员的设备环境对象。CMyFunction::Function(){CClientDCClientDC(this);//TODO:Addy

6、ourmessagehandlercodehere}1.2选择绘图工具画笔,画刷,字体等等。系统默认的画笔和画刷:默认的画笔画出的线为宽度为1像素的黑色实线。默认的画刷是白色的,用默认的画刷填充图形时,图形的内部填充成白色。1.2.1选用库存的绘图工具CDC::SelectStockObject(intnIndex);voidCMyView::OnDraw(CDC*pDC){pDC->SelectStockObject(WHITE_PEN);pDC->SelectStockObject(GRAY_BRUSH);}1.2.2生成自定义的绘图工具

7、生成自定义画笔和画刷的基本步骤:(1)生成画笔(CPen类)和画刷(CBrush)类的实例;(2)调用CPen类和CBrush类的成员函数来初始化画笔和画刷;(3)将生成的画笔和画刷选入设备环境对象中,并将设备环境对象的原有的画笔和画刷保存在指针中;(4)调用相应的绘图函数进行绘图;(5)将原来的画笔和画刷重新选入设备环境对象中(1)生成笔(CPen类)和刷(CBrush)类的实例;CPenpen;CBrushbrush;(2)调用CPen类和CBrush类的成员函数来初始化笔和刷;画笔的初始化CPen::CreatePenBOOLCreat

8、ePen(intnPenStyle,intnWidth,COLORREFcrColor);nPenStyle:PS_SOLIDPS_DOTPS_DASHPS_DAS

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

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

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