- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章_图形应用程序
第11章 图形应用程序 关键: 屏幕原点 绘图原点 Y轴方向问题 y取负值(当a=-1.8时) 函数值缩放,能在规定的范围内绘制 像素、刻度、函数值 11.1.2 GDI+基础知识 1. GDI+概念 CDI:图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI的函数调用),并将它们传给相应的设备驱动程序。 GDI+:是对图形设备接口的一个扩展,它所提供的类可用于创建二维矢量图形、操纵字体以及插入图像。GDI+创建三种图形输出:矢量图形输出、光栅图形输出、文本输出。 (1)矢量图形输出:创建点、线、多边形、扇形、 矩形等 (2)光栅图形输出:对以位图形式存储的数据进行 操作,是从内存到显存的拷贝操作。 (3)文本输出:显示文本,设置字体等。 2. GDI+分布的命名空间 见表1.11.1。 使用CreateGraphics方法构建画布Graphics的形式: Dim 画布对象 As Graphics=Me或控件名. CreateGraphics Graphics的常用方法见表1.11.3. 4.常用数据结构 结构对象表见表1.11.4. Graphics常用方法 11.1.3 坐标系 2D图形的绘制需要一个绘图对象(窗体、图形框等),对象坐标系以像素为单位,像素是指屏幕上的亮点,是显示器能分辨的最小单元。每个像素都有一个坐标点与之对应。 要使所画的图形产生与数学坐标系相同的效果,需要进行坐标系转换。 坐标变换函数见下表。 Graphice对象坐标变换方法 例11.2 绘制椭圆和写文字效果。 Dim g As Graphics = Me.CreateGraphics 声明Graphics对象变量构造Graphics类的实例 Dim p As Pen = New Pen(Color.Blue, 2) 构造一支蓝色画笔p Dim rect As Rectangle = New Rectangle(10, 10, 150, 80) g.DrawEllipse(p, rect) 画椭圆 Dim bs As Brush = New SolidBrush(Color.Red) 构造一把红色画刷bs Dim f As Font = New Font(宋体, 20, FontStyle.Bold) 构造字体对象f g.DrawString(GDI+绘图, f, bs, 35, 35) 输出文字 p.Dispose() : bs.Dispose() 释放绘图对象 f.Dispose() : g.Dispose() ‘平移旋转 Dim g As Graphics = Me.CreateGraphics Dim p As Pen = New Pen(Color.Blue, 2) 构造一支蓝色画笔 Dim rect As Rectangle = New Rectangle(10, 10, 150, 80) g.TranslateTransform(140, 60) 平移 g.RotateTransform(-30) 旋转 g.DrawEllipse(p, rect) 画椭圆 Dim bs As Brush = New SolidBrush(Color.Red) Dim f As Font = New Font(宋体, 20, FontStyle.Bold) g.DrawString(GDI+绘图, f, bs, 35, 35) 输出文字 p.Dispose() : bs.Dispose() 释放绘图对象 f.Dispose() : g.Dispose() 例11.3 使用画笔绘制线宽5像素的红色 有箭头实线和线宽2像素的点划线。 2.常用绘图函数 画刷举例: 11.2.3 图形填充 2.绘制文字 统计设计思想 绘制饼图思想 计算总和,计算单位值占角度360 /sum 设置起始角度 利用循环 计算每块饼占角度a,调用函数: g.FillPie(br(i), rect, a1,a) 求下一个起始角: a1=a1+a 绘制直方图思想 画坐标轴 求数据最大值,计算单位值占高度
文档评论(0)