1、第八章第八章 图形应用设计图形应用设计VB.NETVB.NET程序设计程序设计主讲教师:黄超男主讲教师:黄超男email:email:VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2 2页页本章内容:本章内容:8.1 GDI+8.1 GDI+与绘图基础与绘图基础 8.2 Graphics8.2 Graphics常用图形的绘制常用图形的绘制 8.3 8.3 填充图形填充图形 8.4 8.4 交互绘图交互绘图VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第3 3页页学习目标学习目标绘图基础绘图基础绘制图形绘制图形填充图形填充图形交互绘图交互绘图VB.NET
2、VB.NET程序设计程序设计图形应用设计图形应用设计第第4 4页页8.1 GDI+8.1 GDI+与绘图基础与绘图基础 图形设备接口图形设备接口即即GDI+(GDI+(Graphic Device Graphic Device Interface Plus)Interface Plus),是,是WindowsWindows平台的新一代二平台的新一代二维图形系统,程序员可利用维图形系统,程序员可利用GDI+GDI+这样的图形设备这样的图形设备接口在屏幕或打印机上显示和输出信息,而不需接口在屏幕或打印机上显示和输出信息,而不需要考虑特定显示设备的具体情况。要考虑特定显示设备的具体情况。VB.NET
3、VB.NET程序设计程序设计图形应用设计图形应用设计第第5 5页页一一.GDI+.GDI+的对象的对象 组成:组成:GDI+GDI+由由.NET.NET类库中类库中System.DrawingSystem.Drawing命名空命名空间间下的很多类组成。下的很多类组成。功能:功能:这些类包括窗体上绘图的必要功能,可以这些类包括窗体上绘图的必要功能,可以在屏幕上完成在屏幕上完成对文本和位图的绘制对文本和位图的绘制,也可以控制,也可以控制字体、颜色、线条粗细、阴影、方向等因素,并字体、颜色、线条粗细、阴影、方向等因素,并把这些操作发送到显卡上,确保在显示器上正确把这些操作发送到显卡上,确保在显示器上
4、正确输出。它使开发人员可以利用输出。它使开发人员可以利用WindowsWindows内置的图内置的图形功能轻松地创建图形应用程序。形功能轻松地创建图形应用程序。GDI+GDI+的常用类:的常用类:见教材见教材166166页表格页表格8-18-1 常用的绘图函数:常用的绘图函数:见教材见教材167167页表格页表格8-28-2VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第6 6页页二二.命名空间命名空间.NET.NET框架类库由命名空间组成框架类库由命名空间组成。每个命名空间都包含可。每个命名空间都包含可以在程序中使用的类、结构、枚举、委托和接口。以在程序中使用的类、结构、
5、枚举、委托和接口。常用的命名空间常用的命名空间:见教材:见教材167167页表格页表格8-38-3 引用命名空间的方法引用命名空间的方法:Imports Imports 命名空间命名空间 例如:例如:Imports System.DrawingImports System.Drawing 注意:注意:引用命名空间的语句要放在最前面引用命名空间的语句要放在最前面VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第7 7页页三三.坐标系坐标系 在在VB.NETVB.NET中,控件放置在窗体对象中,而窗体又放置在中,控件放置在窗体对象中,而窗体又放置在屏幕对象中,这些屏幕对象中,这些
6、能够放置其他对象的对象称为容器能够放置其他对象的对象称为容器,如窗体、屏幕都是容器。如窗体、屏幕都是容器。每个容器都有一个坐标系每个容器都有一个坐标系,以便为对象的定位提供参考以便为对象的定位提供参考容器坐标系统的容器坐标系统的默认默认设置是容器的设置是容器的左上角为坐标原点左上角为坐标原点,横向向右为横向向右为X X轴方向,纵向向下为轴方向,纵向向下为Y Y轴方向轴方向窗体的原点在紧靠菜单和工具栏(如果有的话)的下方窗体的原点在紧靠菜单和工具栏(如果有的话)的下方默认的长度单位为像素(默认的长度单位为像素(PixelPixel)VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计
7、第第8 8页页四四.GDI+.GDI+绘制图形的方法绘制图形的方法 在在System.DrawingSystem.Drawing命名空间中,命名空间中,GraphicsGraphics类是绘制图形类是绘制图形的最核心的类的最核心的类。利用该类提供的。利用该类提供的4040多种方法,用户可以多种方法,用户可以绘制出直线、曲线、椭圆等各种图形。绘制出直线、曲线、椭圆等各种图形。使用使用GDI+GDI+绘制图形需以下绘制图形需以下5 5个步骤个步骤:(1)(1)声明声明GraphicsGraphics对象;对象;例如:例如:Dim g As System.Drawing.GraphicsDim g
8、As System.Drawing.Graphics (2)(2)创建创建GraphicsGraphics类的实例;类的实例;例如:例如:g=Me.CreateGraphicsg=Me.CreateGraphics 在本窗体上创建一个在本窗体上创建一个GraphicsGraphics类的实例类的实例 g=PictureBox1.CreateGraphicsg=PictureBox1.CreateGraphics 在在PictureBox1PictureBox1上创建一个上创建一个GraphicsGraphics类的实例类的实例VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第
9、9 9页页(3)(3)创建画笔创建画笔(Pen)(Pen)、画刷、画刷(Brush)(Brush)、字体、字体(Font)(Font)等绘图工等绘图工具对象;具对象;例如:例如:Dim mypen As New Pen(Color.Blue,5)Dim mypen As New Pen(Color.Blue,5)创建画笔对象创建画笔对象(4)(4)调用调用GraphicsGraphics对象的绘图方法绘制图形;对象的绘图方法绘制图形;例如:例如:g.DrawLine(mypen,0,0,100,100)g.DrawLine(mypen,0,0,100,100)调用调用DrawLineDrawL
10、ine方法画一条直线方法画一条直线(5)(5)调用相关绘图对象的调用相关绘图对象的DisposeDispose方法来释放对象。方法来释放对象。例如:例如:mypen.Dispose()mypen.Dispose()g.Dispose()g.Dispose()释放释放PenPen对象和对象和GraphicsGraphics对象对象VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1010页页使用使用5 5个步骤绘制图形综合举例:个步骤绘制图形综合举例:Private Sub Button1_Click(Private Sub Button1_Click()Dim g As Gr
11、aphicsDim g As Graphics 声明声明GraphicsGraphics对象对象 g=Me.CreateGraphicsg=Me.CreateGraphics 在本窗体上创建一个在本窗体上创建一个GraphicsGraphics类的实例类的实例 Dim mypen As New Pen(Color.Blue,5)Dim mypen As New Pen(Color.Blue,5)创建画笔对象创建画笔对象 g.DrawLine(mypen,0,0,100,100)g.DrawLine(mypen,0,0,100,100)调用调用DrawLineDrawLine方法画一条直线方法画
12、一条直线 mypen.Dispose()mypen.Dispose()g.Dispose()g.Dispose()释放释放PenPen对象和对象和GraphicsGraphics对象对象 End SubEnd SubVB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1111页页五五.Pen.Pen对象对象 PenPen对象:对象:又称画笔对象。又称画笔对象。功能:功能:主要用来绘制线条、多边形、曲线等几何图形。主要用来绘制线条、多边形、曲线等几何图形。PenPen对象的创建:对象的创建:四种方法如下:四种方法如下:(1)Dim(1)Dim 对象名对象名 As New Pen(
13、As New Pen(颜色颜色)例如:例如:Dim mypen As New Pen(Color.Blue)Dim mypen As New Pen(Color.Blue)(2)Dim(2)Dim 对象名对象名 As New Pen(As New Pen(颜色,宽度颜色,宽度)例如:例如:Dim mypen As New Pen(Color.BlueDim mypen As New Pen(Color.Blue,4)4)(3)Dim(3)Dim 对象名对象名 As New Pen(As New Pen(刷子刷子)(4)Dim(4)Dim 对象名对象名 As New Pen(As New Pen
14、(刷子,宽度刷子,宽度)VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1212页页 PenPen对象的常用属性:对象的常用属性:AlignmentAlignment属性属性:获取或设置此:获取或设置此PenPen对象的对齐方式。对象的对齐方式。ColorColor属性:属性:获取或设置此获取或设置此PenPen对象的颜色。对象的颜色。WidthWidth属性:属性:获取或设置此获取或设置此PenPen对象的宽度。对象的宽度。DashStyleDashStyle属性:属性:获取或设置通过此获取或设置通过此PenPen对象绘制的虚线对象绘制的虚线的样式。该属性是一个的样式。该
15、属性是一个DashStyleDashStyle枚举型的值。如下表枚举型的值。如下表:样式名称样式名称线段样式线段样式DashDash虚线虚线DashDotDashDot点划线点划线DashDotDotDashDotDot双点划线双点划线DotDot点线点线SolidSolid实线实线CustomCustom用户自定义用户自定义VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1313页页 PenPen对象的常用属性:对象的常用属性:Dashcap Dashcap 属性属性:设置虚线短两端的外观。:设置虚线短两端的外观。其取值有:其取值有:FlatFlat指定每一划线段的两端均
16、为方形帽。指定每一划线段的两端均为方形帽。RoundRound指定每一划线段的两端均为圆角帽。指定每一划线段的两端均为圆角帽。TriangleTriangle指定每一划线段的两端均为带尖的三角帽指定每一划线段的两端均为带尖的三角帽StartcapStartcap属性:属性:获取或设置通过此获取或设置通过此PenPen对象绘制的直线对象绘制的直线起点的帽样式。起点的帽样式。Endcap Endcap 属性:属性:获取或设置通过此获取或设置通过此PenPen对象绘制的直线终对象绘制的直线终点的帽样式。点的帽样式。Pentype Pentype 属性:属性:获取或设置通过此获取或设置通过此PenPe
17、n对象绘制的直线对象绘制的直线的样式。该属性是一个的样式。该属性是一个DashStyleDashStyle枚举型的值。枚举型的值。线段起点和终点样式线段起点和终点样式见教材见教材172172页表格页表格8-5.8-5.VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1414页页六六.画刷对象画刷对象 画刷:画刷:用于指定填充的特性。许多窗口、控件及其他区用于指定填充的特性。许多窗口、控件及其他区域都需要用画刷进行填充绘制,它比画笔的内容更加丰域都需要用画刷进行填充绘制,它比画笔的内容更加丰富。在程序设计中,画填充图形时需要事先创建画刷对富。在程序设计中,画填充图形时需要事先
18、创建画刷对象。象。VB.NETVB.NET中提供了中提供了5 5种刷子种刷子的模式的模式:SolidBrushSolidBrush画刷:画刷:单色画刷单色画刷TexturebrushTexturebrush画刷:画刷:纹理纹理(图像图像)画刷画刷HatchBrushHatchBrush画刷:画刷:阴影画刷阴影画刷LinearGradientBrushLinearGradientBrush画刷:画刷:颜色渐变画刷颜色渐变画刷PathGradientBrushPathGradientBrush画刷:画刷:使用路径及复杂的混合色使用路径及复杂的混合色渐变画刷渐变画刷 说明:说明:前两种需引用命名空间
19、前两种需引用命名空间System.DrawingSystem.Drawing后三种需引用命名空间后三种需引用命名空间System.Drawing.Drawing2DSystem.Drawing.Drawing2DVB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1515页页1.SolidBrush1.SolidBrush画刷画刷(单色画刷单色画刷)所有所有BrushBrush之中最基础的一种,主要用途是将某一特定之中最基础的一种,主要用途是将某一特定区域区域填入单一的颜色填入单一的颜色。格式:格式:Dim Dim 对象名对象名 as New SolidBrush(Color)
20、as New SolidBrush(Color)2.Texturebrush2.Texturebrush画刷画刷(纹理纹理(图像图像)画刷画刷)纹理刷可以用一个纹理刷可以用一个图片图片来来填充图形填充图形。在创建纹理刷时,。在创建纹理刷时,需要使用一张图片。需要使用一张图片。格式:格式:Dim Dim 纹理刷对象纹理刷对象As New TextureBrush(New Bitmap(As New TextureBrush(New Bitmap(图片文件名图片文件名)VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1616页页3.HatchBrush3.HatchBrush画
21、刷画刷(阴影画刷阴影画刷)定义阴影画刷,定义前景色和背景色及阴影风格。前景定义阴影画刷,定义前景色和背景色及阴影风格。前景色定义线条的颜色,背景色定义各线条之间间隙的颜色。色定义线条的颜色,背景色定义各线条之间间隙的颜色。两种用法:两种用法:格式格式1 1:Dim Dim 对象名对象名 As New HatchBrush(As New HatchBrush(阴影样式阴影样式,前前景色景色)格式格式2 2:Dim Dim 对象名对象名 As New HatchBrush(As New HatchBrush(阴影样式阴影样式,前前景色景色,背景色背景色)常用属性:常用属性:BackgroundCo
22、lor:BackgroundColor:获取此获取此HatchBrushHatchBrush对象的背景色对象的背景色ForegroundColor:ForegroundColor:获取此获取此HatchBrushHatchBrush对象的前景色对象的前景色HatchStyle:HatchStyle:获取此获取此HatchBrushHatchBrush对象的阴影样式。阴影对象的阴影样式。阴影样式见教材样式见教材174174页表格页表格8-78-7VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1717页页4.LinearGradientBrush4.LinearGradien
23、tBrush画刷画刷(颜色渐变画刷颜色渐变画刷)渐变画刷的一种,用来产生渐变画刷的一种,用来产生线型渐变效果线型渐变效果。常用的渐变。常用的渐变效果是由两个颜色逐渐变化而来的。效果是由两个颜色逐渐变化而来的。格式:格式:Dim Dim 对象名对象名 as New as New LinearGradientBrushLinearGradientBrush(渐变的渐变的起始点,渐变的终结点,渐变的起始色起始点,渐变的终结点,渐变的起始色,渐变的终止色渐变的终止色)说明:说明:前两个参数是前两个参数是PointPoint结构型的变量结构型的变量;PointPoint结构是一个结构类型结构是一个结构类
24、型,表示一个点,有两个成员表示一个点,有两个成员x x和和y y,分别表示点的横坐标和纵坐标。,分别表示点的横坐标和纵坐标。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1818页页5.PathGradientBrush5.PathGradientBrush画刷画刷(使用路径及复杂的混合使用路径及复杂的混合色渐变画刷色渐变画刷)是路径渐变的,可以显示比较具有弹性的渐层效果。是路径渐变的,可以显示比较具有弹性的渐层效果。格式:格式:Dim Dim 对象名对象名 As New As New PathGradientBrushPathGradientBrush(points()
25、as(points()as System.Drawing.Point)System.Drawing.Point)说明说明:points():points():一个一个pointpoint结构的数组结构的数组,表示构成路径的顶点的表示构成路径的顶点的点。点。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1919页页用法:用法:Dim g As GraphicsDim g As Graphics声明声明GraphicsGraphics对象对象g=PictureBox1.CreateGraphicsg=PictureBox1.CreateGraphics创建创建Graphics
26、Graphics对象对象Dim p()As Point=New Point(10,10),New Point(200,Dim p()As Point=New Point(10,10),New Point(200,10),New Point(200,200),New Point(10,200)10),New Point(200,200),New Point(10,200)声明声明pointpoint结构的数组结构的数组,表示构成路径的顶点的点。表示构成路径的顶点的点。Dim mybrush As New PathGradientBrush(p)Dim mybrush As New PathGra
27、dientBrush(p)用用pointpoint结构的数组结构的数组,创建一个路径渐变画刷实例。创建一个路径渐变画刷实例。Dim mycolor()As Color=Color.Yellow,Color.Blue,Dim mycolor()As Color=Color.Yellow,Color.Blue,Color.Red,Color.GreenColor.Red,Color.Green声明声明colorcolor的数组的数组,表示构成路径的顶点的点的颜色。表示构成路径的顶点的点的颜色。mybrush.SurroundColors=mycolormybrush.SurroundColors=
28、mycolor设置填充路径点相应的颜色数组设置填充路径点相应的颜色数组g.FillPolygon(mybrush,p)g.FillPolygon(mybrush,p)用画刷和路径填充多边形用画刷和路径填充多边形mybrush.Dispose()mybrush.Dispose()g.Dispose()g.Dispose()释放对象释放对象VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2020页页8.2 Graphics8.2 Graphics常用图形的绘制常用图形的绘制 绘制文本绘制文本 绘制直线绘制直线 绘制椭圆绘制椭圆 绘制圆弧绘制圆弧 绘制扇形绘制扇形 绘制矩形绘制矩
29、形 绘制绘制BezierBezier曲线曲线 绘制多边形绘制多边形 绘制样条曲线绘制样条曲线 绘制闭合曲线绘制闭合曲线VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2121页页一一.绘制文本绘制文本 绘制文本使用绘制文本使用GraphicsGraphics对象的对象的DrawStringDrawString方法方法 最常用的格式:最常用的格式:DrawString(sDrawString(s,fontfont,brushbrush,x x,y)y)说明:说明:S S:为要绘制的文本,为要绘制的文本,FontFont:为文本所使用的字体,为文本所使用的字体,BrushBru
30、sh:为绘制文本所采用的画刷,为绘制文本所采用的画刷,X X:为绘制文本的为绘制文本的x x坐标,坐标,Y Y:为绘制文本的为绘制文本的y y坐标。坐标。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2222页页二二.绘制直线绘制直线 画直线可使用画直线可使用GraphicsGraphics对象的对象的DrawLineDrawLine方法方法。格式格式1 1:DrawLine(ByVal pen As PenDrawLine(ByVal pen As Pen,ByVal x1 As Integer,ByVal x1 As Integer,ByVal y1 As Integ
31、er,ByVal x2 As Integer,ByVal y1 As Integer,ByVal x2 As Integer,ByVal y2 As Integer)ByVal y2 As Integer)功能:功能:在由在由(x1,y1)(x1,y1)和和(x2,y2)(x2,y2)指定的点之间画一条直线。指定的点之间画一条直线。说明:说明:Pen:Pen:是画笔;是画笔;x1x1,y1y1:直线起点的坐标;直线起点的坐标;x2,y2x2,y2:直线终点的坐标。直线终点的坐标。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2323页页 格式格式2 2:DrawLine(
32、ByVal pen As PenDrawLine(ByVal pen As Pen,ByVal pt1 As PointByVal pt1 As Point,ByVal pt2 As Point)ByVal pt2 As Point)功能:功能:在在pt1pt1和和pt2pt2指定的两点之间画一条直线。指定的两点之间画一条直线。说明:说明:PenPen:是画笔;是画笔;pt1pt1和和pt2pt2:两个点;两个点;PointPoint是一个结构类型是一个结构类型,表示在二维平面中定义点的整数表示在二维平面中定义点的整数 X X 和和 Y Y 坐标的有序对。坐标的有序对。X X属性:属性:获取或
33、设置此获取或设置此 Point Point 的的 X X 坐标。坐标。Y Y属性:属性:获取或设置此获取或设置此 Point Point 的的 Y Y 坐标。坐标。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2424页页三三.绘制椭圆绘制椭圆 绘制椭圆使用绘制椭圆使用GraphicsGraphics对象的对象的DrawEllipseDrawEllipse方法方法。格式格式1 1:DrawEllipse(ByVal pen As Pen,ByVal rect As Rectangle)DrawEllipse(ByVal pen As Pen,ByVal rect As R
34、ectangle)功能:功能:绘制边界由绘制边界由RectRect指定的椭圆。指定的椭圆。说明:说明:PenPen:画笔;画笔;RectRect:是是rectangle(rectangle(矩形结构)型数据,它定义了椭圆矩形结构)型数据,它定义了椭圆的外接矩形;的外接矩形;RectangleRectangle:存储四个整数存储四个整数,表示一个矩形的位置和大小表示一个矩形的位置和大小 X X:获取或设置此获取或设置此 Rectangle Rectangle 结构左上角的结构左上角的 x x 坐标。坐标。Y Y:获取或设置此获取或设置此 Rectangle Rectangle 结构左上角的结构左
35、上角的 y y 坐标。坐标。WidthWidth:获取或设置此获取或设置此 Rectangle Rectangle 结构的宽度。结构的宽度。HeightHeight:获取或设置此获取或设置此 Rectangle Rectangle 结构的高度。结构的高度。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2525页页 格式格式2 2:DrawEllipse(ByVal pen As PenDrawEllipse(ByVal pen As Pen,ByVal x As Integer,ByVal x As Integer,ByVal y As Integer,ByVal wid
36、th As Integer,ByVal ByVal y As Integer,ByVal width As Integer,ByVal height As Integer)height As Integer)功能:功能:绘制一个由边框绘制一个由边框(该边框由一对坐标、高度和宽度该边框由一对坐标、高度和宽度指定指定)定义的椭圆。定义的椭圆。说明:说明:PenPen:画笔;画笔;X X,Y Y:外接框左上角的坐标;外接框左上角的坐标;WidthWidth:定义椭圆外接框的宽度;定义椭圆外接框的宽度;HeightHeight:定义椭圆外接框的高度。定义椭圆外接框的高度。VB.NETVB.NET程序设
37、计程序设计图形应用设计图形应用设计第第2626页页四四.绘制圆弧绘制圆弧 绘制椭圆使用绘制椭圆使用GraphicsGraphics对象的对象的DrawArcDrawArc方法方法。格式格式1 1:DrawArc(ByVal pen As PenDrawArc(ByVal pen As Pen,ByVal rect As RectangleByVal rect As Rectangle,ByVal startAngle As Single,ByVal sweepAngle As ByVal startAngle As Single,ByVal sweepAngle As Single)Singl
38、e)功能:功能:绘制由绘制由RectRect指定矩形内接椭圆的部分圆弧。指定矩形内接椭圆的部分圆弧。说明:说明:rectrect:是一个是一个Rectangle(Rectangle(也可以是也可以是RectangleFRectangleF结构结构),它,它定义椭圆的边界。定义椭圆的边界。startAnglestartAngle:定义了从定义了从x x轴到弧线的起始点沿顺时针方向轴到弧线的起始点沿顺时针方向度量的角度量的角(以度为单位以度为单位)。sweepAnglesweepAngle:定义了从定义了从startAnglestartAngle参数到弧线的结束点参数到弧线的结束点沿顺时针方向度量
39、的角沿顺时针方向度量的角(以度为单位以度为单位)。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2727页页 格式格式2 2:DrawArc(ByVal pen As PenDrawArc(ByVal pen As Pen,ByVal x As ByVal x As Integer,ByVal y As Integer,ByVal width As Integer,ByVal y As Integer,ByVal width As Integer,ByVal height As Integer,ByVal startAngle Integer,ByVal height A
40、s Integer,ByVal startAngle As Integer,ByVal sweepAngle As Integer)As Integer,ByVal sweepAngle As Integer)功能:功能:绘制一段弧线,该弧线是由一对坐标、宽度和高绘制一段弧线,该弧线是由一对坐标、宽度和高度指定的椭圆的一部分。度指定的椭圆的一部分。说明:说明:x x、y y:定义了椭圆外接矩形左上角的横坐标和纵坐标。定义了椭圆外接矩形左上角的横坐标和纵坐标。widthwidth:定义了椭圆的外接矩形的宽度。定义了椭圆的外接矩形的宽度。heightheight:定义了椭圆的外接矩形的高度。定义了
41、椭圆的外接矩形的高度。startAnglestartAngle:定义了从定义了从x x轴到弧线的起始点沿顺时针方向轴到弧线的起始点沿顺时针方向度量的角。度量的角。sweepAnglesweepAngle:定义弧经过的点。定义弧经过的点。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2828页页五五.绘制扇形绘制扇形 PiePie方法方法画椭圆弧,并且弧的两个端点与圆心连线。画椭圆弧,并且弧的两个端点与圆心连线。格式:格式:DrawPie(pen As SystemDrawPie(pen As SystemDrawingDrawingPenPen,x As Integerx
42、 As Integer,y As_Integery As_Integer,width As Integerwidth As Integer,height As Integerheight As Integer,startAngle As_ IntegerstartAngle As_ Integer,sweepAngle As Integer)sweepAngle As Integer)说明:说明:绘制一个扇形。绘制一个扇形。说明:说明:penpen:画笔。画笔。X X:限制椭圆矩形左上角限制椭圆矩形左上角x x坐标。坐标。Y Y:限制椭圆矩形左上角限制椭圆矩形左上角y y坐标。坐标。width
43、width:限制椭圆矩形的宽。限制椭圆矩形的宽。heightheight:限制椭圆矩形的高。限制椭圆矩形的高。startAnglestartAngle:弧的起始点。弧的起始点。sweepAnglesweepAngle:弧经过的点。弧经过的点。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2929页页六六.绘制矩形绘制矩形 使用使用GraphicsGraphics对象的对象的DrawRectangleDrawRectangle方法可以绘制矩形。方法可以绘制矩形。格式格式1 1:DrawRectangle(ByVal pen As Pen,ByVal rect As Draw
44、Rectangle(ByVal pen As Pen,ByVal rect As Rectangle)Rectangle)功能:功能:绘制一个矩形。绘制一个矩形。说明:说明:penpen:画笔。画笔。rectrect:表示要绘制矩形的表示要绘制矩形的RectangleRectangle结构。结构。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第3030页页 格式格式2 2:DrawRectangle(ByVal Pen As Pen,ByVal x As DrawRectangle(ByVal Pen As Pen,ByVal x As Integer,ByVal y As
45、 Integer,ByVal width As Integer,ByVal y As Integer,ByVal width As Integer,ByVal height As Integer)Integer,ByVal height As Integer)功能:功能:绘制一个由左上角坐标、宽度和高度指定的矩形。绘制一个由左上角坐标、宽度和高度指定的矩形。说明:说明:penpen:画笔。画笔。x x、y y:分别是要绘制的矩形的左上角的横坐标和纵坐标。分别是要绘制的矩形的左上角的横坐标和纵坐标。widthwidth:是要绘制的矩形的宽度。是要绘制的矩形的宽度。heightheight:是要绘
46、制的矩形的高度。是要绘制的矩形的高度。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第3131页页七七.绘制绘制Bezier(Bezier(贝塞尔曲线贝塞尔曲线 )使用使用GraphicsGraphics对象的对象的DrawBezierDrawBezier方法画一条方法画一条BezierBezier曲线曲线 格式:格式:DrawBezier(pen As SystemDrawBezier(pen As SystemDrawingDrawingPenPen,x1 As x1 As SingleSingle,y1 As_Singley1 As_Single,x2 As Sing
47、lex2 As Single,y2 As Singley2 As Single,x3 As Singlex3 As Single,y3 As Singley3 As Single,_x4 As Single_x4 As Single,y4 As y4 As Single)Single)功能:功能:绘制一条绘制一条BezierBezier曲线。曲线。说明:说明:penpen:画笔。画笔。x1x1,y1y1起点。起点。x2x2,y2y2控制点。控制点。x3x3,y3y3控制点。控制点。x4x4,y4y4终点。终点。3 3次次BezierBezier曲线需要曲线需要2 2个控制点和个控制点和1 1个
48、起点,个起点,1 1个终点,四个终点,四个点决定一条个点决定一条BezierBezier曲线。曲线。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第3232页页八八.绘制多边形绘制多边形 使用使用GraphicsGraphics对象的对象的DrawPolygonDrawPolygon方法方法可以绘制多边形。可以绘制多边形。格式格式1 1:DrawPolygon(ByVal pen As PenDrawPolygon(ByVal pen As Pen,ByVal points()As ByVal points()As Point)Point)功能:功能:绘制由一组绘制由一组P
49、ointPoint结构定义的多边形。结构定义的多边形。说明:说明:penpen:画笔。画笔。pointspoints:是是PointPoint结构的数组,用来表示多边形的顶点。结构的数组,用来表示多边形的顶点。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第3333页页 格式格式2 2:DrawPolygon(ByVal pen As PenDrawPolygon(ByVal pen As Pen,ByVal points()As ByVal points()As PointF)PointF)功能:功能:绘制由一组绘制由一组PointFPointF结构定义的多边形。结构定义
50、的多边形。说明:说明:penpen:画笔。画笔。pointspoints:是是PointFPointF结构的数组,用来表示多边形的顶点。结构的数组,用来表示多边形的顶点。PointFPointF结构与结构与PointPoint结构的不同结构的不同之处在于之处在于PointFPointF可以使用可以使用实数表示点的坐标,而实数表示点的坐标,而PointPoint结构只能使用整数。结构只能使用整数。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第3434页页九九.绘制样条曲线绘制样条曲线 使用使用GraphicsGraphics对象的对象的DrawCurveDrawCurve方