已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章图形应用设计,VB.NET程序设计,主讲教师:黄超男email:huangchaonan2004,第2页,本章内容:,8.1GDI+与绘图基础8.2Graphics常用图形的绘制8.3填充图形8.4交互绘图,第3页,学习目标,绘图基础绘制图形填充图形交互绘图,第4页,8.1GDI+与绘图基础,图形设备接口即GDI+(GraphicDeviceInterfacePlus),是Windows平台的新一代二维图形系统,程序员可利用GDI+这样的图形设备接口在屏幕或打印机上显示和输出信息,而不需要考虑特定显示设备的具体情况。,第5页,一.GDI+的对象组成:GDI+由.NET类库中System.Drawing命名空间下的很多类组成。功能:这些类包括窗体上绘图的必要功能,可以在屏幕上完成对文本和位图的绘制,也可以控制字体、颜色、线条粗细、阴影、方向等因素,并把这些操作发送到显卡上,确保在显示器上正确输出。它使开发人员可以利用Windows内置的图形功能轻松地创建图形应用程序。GDI+的常用类:见教材166页表格8-1常用的绘图函数:见教材167页表格8-2,第6页,二.命名空间.NET框架类库由命名空间组成。每个命名空间都包含可以在程序中使用的类、结构、枚举、委托和接口。常用的命名空间:见教材167页表格8-3引用命名空间的方法:Imports命名空间例如:ImportsSystem.Drawing注意:引用命名空间的语句要放在最前面,第7页,三.坐标系在VB.NET中,控件放置在窗体对象中,而窗体又放置在屏幕对象中,这些能够放置其他对象的对象称为容器,如窗体、屏幕都是容器。每个容器都有一个坐标系,以便为对象的定位提供参考容器坐标系统的默认设置是容器的左上角为坐标原点,横向向右为X轴方向,纵向向下为Y轴方向窗体的原点在紧靠菜单和工具栏(如果有的话)的下方默认的长度单位为像素(Pixel),第8页,四.GDI+绘制图形的方法在System.Drawing命名空间中,Graphics类是绘制图形的最核心的类。利用该类提供的40多种方法,用户可以绘制出直线、曲线、椭圆等各种图形。使用GDI+绘制图形需以下5个步骤:(1)声明Graphics对象;例如:DimgAsSystem.Drawing.Graphics(2)创建Graphics类的实例;例如:g=Me.CreateGraphics在本窗体上创建一个Graphics类的实例g=PictureBox1.CreateGraphics在PictureBox1上创建一个Graphics类的实例,第9页,(3)创建画笔(Pen)、画刷(Brush)、字体(Font)等绘图工具对象;例如:DimmypenAsNewPen(Color.Blue,5)创建画笔对象(4)调用Graphics对象的绘图方法绘制图形;例如:g.DrawLine(mypen,0,0,100,100)调用DrawLine方法画一条直线(5)调用相关绘图对象的Dispose方法来释放对象。例如:mypen.Dispose()g.Dispose()释放Pen对象和Graphics对象,第10页,使用5个步骤绘制图形综合举例:,PrivateSubButton1_Click()DimgAsGraphics声明Graphics对象g=Me.CreateGraphics在本窗体上创建一个Graphics类的实例DimmypenAsNewPen(Color.Blue,5)创建画笔对象g.DrawLine(mypen,0,0,100,100)调用DrawLine方法画一条直线mypen.Dispose()g.Dispose()释放Pen对象和Graphics对象EndSub,第11页,五.Pen对象Pen对象:又称画笔对象。功能:主要用来绘制线条、多边形、曲线等几何图形。Pen对象的创建:四种方法如下:(1)Dim对象名AsNewPen(颜色)例如:DimmypenAsNewPen(Color.Blue)(2)Dim对象名AsNewPen(颜色,宽度)例如:DimmypenAsNewPen(Color.Blue,4)(3)Dim对象名AsNewPen(刷子)(4)Dim对象名AsNewPen(刷子,宽度),第12页,Pen对象的常用属性:Alignment属性:获取或设置此Pen对象的对齐方式。Color属性:获取或设置此Pen对象的颜色。Width属性:获取或设置此Pen对象的宽度。DashStyle属性:获取或设置通过此Pen对象绘制的虚线的样式。该属性是一个DashStyle枚举型的值。如下表:,第13页,Pen对象的常用属性:Dashcap属性:设置虚线短两端的外观。其取值有:Flat指定每一划线段的两端均为方形帽。Round指定每一划线段的两端均为圆角帽。Triangle指定每一划线段的两端均为带尖的三角帽Startcap属性:获取或设置通过此Pen对象绘制的直线起点的帽样式。Endcap属性:获取或设置通过此Pen对象绘制的直线终点的帽样式。Pentype属性:获取或设置通过此Pen对象绘制的直线的样式。该属性是一个DashStyle枚举型的值。线段起点和终点样式见教材172页表格8-5.,第14页,六.画刷对象画刷:用于指定填充的特性。许多窗口、控件及其他区域都需要用画刷进行填充绘制,它比画笔的内容更加丰富。在程序设计中,画填充图形时需要事先创建画刷对象。VB.NET中提供了5种刷子的模式:SolidBrush画刷:单色画刷Texturebrush画刷:纹理(图像)画刷HatchBrush画刷:阴影画刷LinearGradientBrush画刷:颜色渐变画刷PathGradientBrush画刷:使用路径及复杂的混合色渐变画刷说明:前两种需引用命名空间System.Drawing后三种需引用命名空间System.Drawing.Drawing2D,第15页,1.SolidBrush画刷(单色画刷)所有Brush之中最基础的一种,主要用途是将某一特定区域填入单一的颜色。格式:Dim对象名asNewSolidBrush(Color)2.Texturebrush画刷(纹理(图像)画刷)纹理刷可以用一个图片来填充图形。在创建纹理刷时,需要使用一张图片。格式:Dim纹理刷对象AsNewTextureBrush(NewBitmap(图片文件名),第16页,3.HatchBrush画刷(阴影画刷)定义阴影画刷,定义前景色和背景色及阴影风格。前景色定义线条的颜色,背景色定义各线条之间间隙的颜色。两种用法:格式1:Dim对象名AsNewHatchBrush(阴影样式,前景色)格式2:Dim对象名AsNewHatchBrush(阴影样式,前景色,背景色)常用属性:BackgroundColor:获取此HatchBrush对象的背景色ForegroundColor:获取此HatchBrush对象的前景色HatchStyle:获取此HatchBrush对象的阴影样式。阴影样式见教材174页表格8-7,第17页,4.LinearGradientBrush画刷(颜色渐变画刷)渐变画刷的一种,用来产生线型渐变效果。常用的渐变效果是由两个颜色逐渐变化而来的。格式:Dim对象名asNewLinearGradientBrush(渐变的起始点,渐变的终结点,渐变的起始色,渐变的终止色)说明:前两个参数是Point结构型的变量;Point结构是一个结构类型,表示一个点,有两个成员x和y,分别表示点的横坐标和纵坐标。,第18页,5.PathGradientBrush画刷(使用路径及复杂的混合色渐变画刷)是路径渐变的,可以显示比较具有弹性的渐层效果。格式:Dim对象名AsNewPathGradientBrush(points()asSystem.Drawing.Point)说明:points():一个point结构的数组,表示构成路径的顶点的点。,第19页,用法:DimgAsGraphics声明Graphics对象g=PictureBox1.CreateGraphics创建Graphics对象Dimp()AsPoint=NewPoint(10,10),NewPoint(200,10),NewPoint(200,200),NewPoint(10,200)声明point结构的数组,表示构成路径的顶点的点。DimmybrushAsNewPathGradientBrush(p)用point结构的数组,创建一个路径渐变画刷实例。Dimmycolor()AsColor=Color.Yellow,Color.Blue,Color.Red,Color.Green声明color的数组,表示构成路径的顶点的点的颜色。mybrush.SurroundColors=mycolor设置填充路径点相应的颜色数组g.FillPolygon(mybrush,p)用画刷和路径填充多边形mybrush.Dispose()g.Dispose()释放对象,第20页,8.2Graphics常用图形的绘制,绘制文本绘制直线绘制椭圆绘制圆弧绘制扇形绘制矩形绘制Bezier曲线绘制多边形绘制样条曲线绘制闭合曲线,第21页,一.绘制文本绘制文本使用Graphics对象的DrawString方法最常用的格式:DrawString(s,font,brush,x,y)说明:S:为要绘制的文本,Font:为文本所使用的字体,Brush:为绘制文本所采用的画刷,X:为绘制文本的x坐标,Y:为绘制文本的y坐标。,第22页,二.绘制直线画直线可使用Graphics对象的DrawLine方法。格式1:DrawLine(ByValpenAsPen,ByValx1AsInteger,ByValy1AsInteger,ByValx2AsInteger,ByValy2AsInteger)功能:在由(x1,y1)和(x2,y2)指定的点之间画一条直线。说明:Pen:是画笔;x1,y1:直线起点的坐标;x2,y2:直线终点的坐标。,第23页,格式2:DrawLine(ByValpenAsPen,ByValpt1AsPoint,ByValpt2AsPoint)功能:在pt1和pt2指定的两点之间画一条直线。说明:Pen:是画笔;pt1和pt2:两个点;Point是一个结构类型,表示在二维平面中定义点的整数X和Y坐标的有序对。X属性:获取或设置此Point的X坐标。Y属性:获取或设置此Point的Y坐标。,第24页,三.绘制椭圆绘制椭圆使用Graphics对象的DrawEllipse方法。格式1:DrawEllipse(ByValpenAsPen,ByValrectAsRectangle)功能:绘制边界由Rect指定的椭圆。说明:Pen:画笔;Rect:是rectangle(矩形结构)型数据,它定义了椭圆的外接矩形;Rectangle:存储四个整数,表示一个矩形的位置和大小X:获取或设置此Rectangle结构左上角的x坐标。Y:获取或设置此Rectangle结构左上角的y坐标。Width:获取或设置此Rectangle结构的宽度。Height:获取或设置此Rectangle结构的高度。,第25页,格式2:DrawEllipse(ByValpenAsPen,ByValxAsInteger,ByValyAsInteger,ByValwidthAsInteger,ByValheightAsInteger)功能:绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。说明:Pen:画笔;X,Y:外接框左上角的坐标;Width:定义椭圆外接框的宽度;Height:定义椭圆外接框的高度。,第26页,四.绘制圆弧绘制椭圆使用Graphics对象的DrawArc方法。格式1:DrawArc(ByValpenAsPen,ByValrectAsRectangle,ByValstartAngleAsSingle,ByValsweepAngleAsSingle)功能:绘制由Rect指定矩形内接椭圆的部分圆弧。说明:rect:是一个Rectangle(也可以是RectangleF结构),它定义椭圆的边界。startAngle:定义了从x轴到弧线的起始点沿顺时针方向度量的角(以度为单位)。sweepAngle:定义了从startAngle参数到弧线的结束点沿顺时针方向度量的角(以度为单位)。,第27页,格式2:DrawArc(ByValpenAsPen,ByValxAsInteger,ByValyAsInteger,ByValwidthAsInteger,ByValheightAsInteger,ByValstartAngleAsInteger,ByValsweepAngleAsInteger)功能:绘制一段弧线,该弧线是由一对坐标、宽度和高度指定的椭圆的一部分。说明:x、y:定义了椭圆外接矩形左上角的横坐标和纵坐标。width:定义了椭圆的外接矩形的宽度。height:定义了椭圆的外接矩形的高度。startAngle:定义了从x轴到弧线的起始点沿顺时针方向度量的角。sweepAngle:定义弧经过的点。,第28页,五.绘制扇形Pie方法画椭圆弧,并且弧的两个端点与圆心连线。格式:DrawPie(penAsSystemDrawingPen,xAsInteger,yAs_Integer,widthAsInteger,heightAsInteger,startAngleAs_Integer,sweepAngleAsInteger)说明:绘制一个扇形。说明:pen:画笔。X:限制椭圆矩形左上角x坐标。Y:限制椭圆矩形左上角y坐标。width:限制椭圆矩形的宽。height:限制椭圆矩形的高。startAngle:弧的起始点。sweepAngle:弧经过的点。,第29页,六.绘制矩形使用Graphics对象的DrawRectangle方法可以绘制矩形。格式1:DrawRectangle(ByValpenAsPen,ByValrectAsRectangle)功能:绘制一个矩形。说明:pen:画笔。rect:表示要绘制矩形的Rectangle结构。,第30页,格式2:DrawRectangle(ByValPenAsPen,ByValxAsInteger,ByValyAsInteger,ByValwidthAsInteger,ByValheightAsInteger)功能:绘制一个由左上角坐标、宽度和高度指定的矩形。说明:pen:画笔。x、y:分别是要绘制的矩形的左上角的横坐标和纵坐标。width:是要绘制的矩形的宽度。height:是要绘制的矩形的高度。,第31页,七.绘制Bezier(贝塞尔曲线)使用Graphics对象的DrawBezier方法画一条Bezier曲线格式:DrawBezier(penAsSystemDrawingPen,x1AsSingle,y1As_Single,x2AsSingle,y2AsSingle,x3AsSingle,y3AsSingle,_x4AsSingle,y4AsSingle)功能:绘制一条Bezier曲线。说明:pen:画笔。x1,y1起点。x2,y2控制点。x3,y3控制点。x4,y4终点。3次Bezier曲线需要2个控制点和1个起点,1个终点,四个点决定一条Bezier曲线。,第32页,八.绘制多边形使用Graphics对象的DrawPolygon方法可以绘制多边形。格式1:DrawPolygon(ByValpenAsPen,ByValpoints()AsPoint)功能:绘制由一组Point结构定义的多边形。说明:pen:画笔。points:是Point结构的数组,用来表示多边形的顶点。,第33页,格式2:DrawPolygon(ByValpenAsPen,ByValpoints()AsPointF)功能:绘制由一组PointF结构定义的多边形。说明:pen:画笔。points:是PointF结构的数组,用来表示多边形的顶点。PointF结构与Point结构的不同之处在于PointF可以使用实数表示点的坐标,而Point结构只能使用整数。,第34页,九.绘制样条曲线使用Graphics对象的DrawCurve方法绘制经过一组由指定的Point结构的基数样条曲线。格式:DrawCurve(ByValpenAsPen,ByValpoints()AsPoint)功能:绘制由一组Point结构定义的样条曲线。说明:pen:画笔。points:是Point结构的数组,用来表示多边形的顶点。,第35页,十.绘制闭合曲线使用Graphics对象的DrawClosedCurve方法可以绘制闭合曲线。格式1:DrawClosedCurve(ByValpenAsPen,ByValpoints()AsPoint)功能:绘制由Point结构的数组定义的闭合曲线。说明:pen:画笔。points:用来定义绘制曲线的样点,此方法绘制经过数组中每个点的闭合曲线。如果最后一个点不匹配第一个点,则在最后一个点和第一个点之间添加一条附加曲线段以使该图闭合。此方法使用默认张力0.5。另外Points也可以是PointF结构的数组。,第36页,格式2:DrawClosedCurve(ByValpenAsPen,ByValpoints()AsPoint,ByValtensionAsSingle,ByValfillmodeAsFillMode)功能:使用指定的张力绘制由Point结构数组定义的闭合基数样条。说明:pen:画笔。points:用来定义绘制曲线的样点,此方法绘制经过数组中每个点的闭合曲线。如果最后一个点不匹配第一个点,则在最后一个点和第一个点之间添加一条附加曲线段以使该图闭合。Points也可以是PointF结构的数组。tension:是一个大于或等于0.0F的值,该值指定曲线的张力。通过张力,可更改基数样条曲线的弯曲方式。请注意,当张力为0时,这些点由一条直线连接。fillmode:是FillMode枚举的成员,它确定填充曲线的方式,需要此参数但其值被忽略。,第37页,8.3填充图形,一.填充矩形FillRectangle语法:FillRectangle(画刷,矩形对象或坐标)二.填充椭圆内部用FillEllipse可以画一个填充椭圆语法:FillEllipse(画刷,矩形对象或坐标)三.填充多边形用FillPolygon画一个填充多边形语法:PillPolygon(画刷,坐标,填充方式),第38页,四.填充饼图使用Graphics对象的FillPie方法可以填充饼图。格式1:FillPie(ByValbrushAsBrush,ByValrectAsRectangle,ByValstartAngleAsSingle,ByValsweepAngleAsSingle)功能:填充椭圆所定义的扇形区的内部,该扇形区由Rectangle结构和两条射线指定。说明:brush:画刷。rect:是一个Rectangle或RectangleF结构,它定义椭圆的边界。startAngle:定义了从x轴到弧线的起始点沿顺时针方向度量的角(以度为单位)。sweepAngle:定义了从startAngle参数到弧线的结束点沿顺时针方向度量的角(以度为单位)。,第39页,格式2:FillPie(ByValbrushAsBrush,ByValxAsIntege
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药物不良反应监测报告制度
- 云渲染平台稳定性性能验证报告
- 2026年注册绘师道通关练习试题(典型题)附答案详解
- 病房医嘱处理操作规范细则
- 2026年普法学法知识竞赛强化训练高能含完整答案详解(必刷)
- 2026年输血知识考核押题模拟(突破训练)附答案详解
- 2026年广告集成数据安全协议
- 高中生利用原子荧光光谱法测定土壤中硒含量变化课题报告教学研究课题报告
- 档案销毁审批管理规定
- 屋面防水保温施工组织进度策划
- 2024-2025学年浙江省杭州市S9联盟高一下学期期中联考数学试卷(含答案)
- 部编人教版七年级道法下册 期中复习-必刷选择题专项训练(140题)
- 液氨罐区重大危险源事故专项应急预案第5版
- 新版2025心肺复苏术指南
- 基于数学学科核心素养的学业质量评价
- 2025年人工智能青少年创新能力知识竞赛题库(新版)
- 工程伦理课后习题答案
- 园林景观工程施工方案及质量保证措施
- 3.2.1金属材料 铝及其化合物 课件 高一上学期化学人教版(2019)必修第一册
- 螺母小车变形记
- 耳鼻喉科特殊治疗法
评论
0/150
提交评论