- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学][C语言课件]第9-10章-用户界面设计和图形设计
5. 释放资源 对于在程序中创建的Graphics、Pen、Brush等资源对象,在不再使用时应尽快释放,调用该对象的Dispose方法即可。 如果不调用Dispose方法,则系统将自动回收这些资源,但释放资源的时间会滞后。 【例10.1】 设计一个窗体,画出4条线构成一个矩形 。 Form1窗体 事件过程: private void Form1_Paint(object sender, PaintEventArgs e) { Graphics gobj = this.CreateGraphics(); int x, y, w, h; x = 10; y = 10; w = 150; h = 100; gobj.DrawLine(Pens.Blue, x, y, x + w, y); gobj.DrawLine(Pens.Blue, x, y, x, y + h); gobj.DrawLine(Pens.Blue, x + w, y, x + w, y + h); gobj.DrawLine(Pens.Blue, x, y + h, x + w, y + h); } 10.3 绘制图形 10.3.1 绘制直线 Graphics.DrawLine(Pen, 起点坐标, 终点坐标); 绘制直线时需指明直线的起点坐标(即起点列、行坐标)和终点坐标(即终点列、行坐标)。 Pen是画笔对象。 10.3.2 绘制矩形 矩形有空心图形和填充图形之分。 1. 绘制空心矩形 Graphics.DrawRectangle(Pen, Rectangle); Graphics.DrawRectangles(Pen, Rectangle[]); 其中,DrawPolygon方法绘制由一个Rectangle结构定义的多边形,而DrawRectangles方法绘制一系列由Rectangle结构指定的矩形。 2. 绘制填充矩形 Graphics.FillRectangle(Brush, Rectangle); Graphics.FillRectangles(Brush, Rectangle[]); 其中,FillRectangle方法填充由Rectangle指定的矩形的内部。FillRectangles方法填充由 Rectangle 结构指定的一组矩形的内部。Brush是画刷对象。 【例10.2】 设计一个窗体,说明矩形方法的使用。 Form2,事件过程: private void Form2_Paint(object sender, PaintEventArgs e) { Graphics gobj=this.CreateGraphics(); Rectangle rec1=new Rectangle(20, 20, 50, 50); //定义一个矩形rec1 Rectangle rec2=new Rectangle(80, 20, 80, 100); //定义一个矩形rec2 gobj.DrawRectangle(Pens.Blue, rec1); //绘制一个空心矩形 gobj.FillRectangle(Brushes.Red, rec2); //绘制一个填充矩形 } 10.3.3 绘制多边形 多边形分为空心图形和填充图形。 1. 绘制空心多边形 Graphics.DrawPolygon(Pen, Point[]); 其中Point数组是由一组Point结构对象定义的多边形。Pen对象指出画线的画笔。 2. 绘制填充多边形 Graphics.FillPolygon(Brush, Point[]); 【例10.3】 设计一个窗体,说明多边形方法的使用。 Form3,事件过程: private void Form3_Paint(object sender, PaintEventArgs e) { Graphics gobj=this.CreateGraphics(); Point[] parray1 = {new Point(20, 20), //定义点数组parray1 new Point(20, 80),new Point(100, 80)}; gobj.DrawPolygon(Pens.Blue, parray1); Point[] parray2= {new Point(150, 10), new Point(120, 50), n
文档评论(0)