第八章图形应用设计_第1页
第八章图形应用设计_第2页
第八章图形应用设计_第3页
第八章图形应用设计_第4页
第八章图形应用设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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.netvb.

2、net程序设计程序设计图形应用设计图形应用设计第第4 4页页8.1 gdi+8.1 gdi+与绘图基础与绘图基础图形设备接口图形设备接口即即gdi+(gdi+(graphicgraphic device device interface plus)interface plus) ,是,是windowswindows平台的新一代二平台的新一代二维图形系统,程序员可利用维图形系统,程序员可利用gdi+gdi+这样的图形设备这样的图形设备接口在屏幕或打印机上显示和输出信息,而不需接口在屏幕或打印机上显示和输出信息,而不需要考虑特定显示设备的具体情况。要考虑特定显示设备的具体情况。vb.netvb.n

3、et程序设计程序设计图形应用设计图形应用设计第第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.graphicsdi

8、m g 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, 10

10、0, 100) 调用调用drawlinedrawline方法画一条直线方法画一条直线(5)(5)调用相关绘图对象的调用相关绘图对象的disposedispose方法来释放对象。方法来释放对象。例如:例如:mypen.dispose()mypen.dispose() g.dispose()g.dispose() 释放释放penpen对象和对象和graphicsgraphics对象对象vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1010页页使用使用5 5个步骤绘制图形综合举例:个步骤绘制图形综合举例: private sub button1_click( private s

11、ub button1_click() ) dim g as graphicsdim 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

12、, 0, 0, 100, 100) 调用调用drawlinedrawline方法画一条直线方法画一条直线 mypen.dispose()mypen.dispose() g.dispose() g.dispose() 释放释放penpen对象和对象和graphicsgraphics对象对象 end sub end subvb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1111页页五五.pen.pen对象对象penpen对象:对象:又称画笔对象。又称画笔对象。功能:功能:主要用来绘制线条、多边形、曲线等几何图形。主要用来绘制线条、多边形、曲线等几何图形。penpen对象的创建:

13、对象的创建: 四种方法如下:四种方法如下:(1)(1)dim dim 对象名对象名 as new pen(as new pen(颜色颜色) ) 例如:例如:dim mypen as new pen(color.blue)dim mypen as new pen(color.blue)(2)(2)dim dim 对象名对象名 as new pen(as new pen(颜色,宽度颜色,宽度) ) 例如:例如:dim mypen as new pen(color.bluedim mypen as new pen(color.blue,4 4) )(3)(3)dim dim 对象名对象名 as ne

14、w pen(as new pen(刷子刷子) )(4)(4)dim dim 对象名对象名 as new pen(as new pen(刷子,宽度刷子,宽度) )vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1212页页penpen对象的常用属性:对象的常用属性:alignmentalignment属性属性:获取或设置此:获取或设置此penpen对象的对齐方式。对象的对齐方式。colorcolor属性:属性:获取或设置此获取或设置此penpen对象的颜色。对象的颜色。widthwidth属性:属性:获取或设置此获取或设置此penpen对象的宽度。对象的宽度。dashstyl

15、edashstyle属性:属性:获取或设置通过此获取或设置通过此penpen对象绘制的虚线对象绘制的虚线的样式。该属性是一个的样式。该属性是一个dashstyledashstyle枚举型的值。如下表枚举型的值。如下表: :样式名称样式名称线段样式线段样式dashdash虚线虚线dashdotdashdot点划线点划线dashdotdotdashdotdot双点划线双点划线dotdot点线点线solidsolid实线实线customcustom用户自定义用户自定义vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1313页页penpen对象的常用属性:对象的常用属性:dashc

16、apdashcap 属性属性:设置虚线短两端的外观。:设置虚线短两端的外观。 其取值有:其取值有: flatflat指定每一划线段的两端均为方形帽。指定每一划线段的两端均为方形帽。 roundround指定每一划线段的两端均为圆角帽。指定每一划线段的两端均为圆角帽。 triangletriangle指定每一划线段的两端均为带尖的三角帽指定每一划线段的两端均为带尖的三角帽startcapstartcap属性:属性:获取或设置通过此获取或设置通过此penpen对象绘制的直线对象绘制的直线起点的帽样式。起点的帽样式。endcapendcap 属性:属性:获取或设置通过此获取或设置通过此penpen对

17、象绘制的直线终对象绘制的直线终点的帽样式。点的帽样式。pentypepentype 属性:属性:获取或设置通过此获取或设置通过此penpen对象绘制的直线对象绘制的直线的样式。该属性是一个的样式。该属性是一个dashstyledashstyle枚举型的值。枚举型的值。线段起点和终点样式线段起点和终点样式见教材见教材172172页表格页表格8-5.8-5.vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1414页页六六. .画刷对象画刷对象画刷:画刷:用于指定填充的特性。许多窗口、控件及其他区用于指定填充的特性。许多窗口、控件及其他区域都需要用画刷进行填充绘制,它比画笔的内容

18、更加丰域都需要用画刷进行填充绘制,它比画笔的内容更加丰富。在程序设计中,画填充图形时需要事先创建画刷对富。在程序设计中,画填充图形时需要事先创建画刷对象。象。vb.netvb.net中提供了中提供了5 5种刷子种刷子的模式的模式: :solidbrushsolidbrush画刷:画刷:单色画刷单色画刷texturebrushtexturebrush画刷:画刷:纹理纹理( (图像图像) )画刷画刷hatchbrushhatchbrush画刷:画刷:阴影画刷阴影画刷lineargradientbrushlineargradientbrush画刷:画刷:颜色渐变画刷颜色渐变画刷pathgradien

19、tbrushpathgradientbrush画刷:画刷:使用路径及复杂的混合色使用路径及复杂的混合色渐变画刷渐变画刷说明:说明:前两种需引用命名空间前两种需引用命名空间system.drawingsystem.drawing后三种需引用命名空间后三种需引用命名空间system.drawingsystem.drawing. .drawingdrawing2d2dvb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1515页页1.solidbrush1.solidbrush画刷画刷( (单色画刷单色画刷) )所有所有brushbrush之中最基础的一种,主要用途是将某一特定之中最

20、基础的一种,主要用途是将某一特定区域区域填入单一的颜色填入单一的颜色。格式:格式: dim dim 对象名对象名 as new as new solidbrush(colorsolidbrush(color) ) 2.texturebrush2.texturebrush画刷画刷( (纹理纹理( (图像图像) )画刷画刷) )纹理刷可以用一个纹理刷可以用一个图片图片来来填充图形填充图形。在创建纹理刷时,。在创建纹理刷时,需要使用一张图片。需要使用一张图片。格式:格式: dim dim 纹理刷对象纹理刷对象as new as new texturebrush(newtexturebrush(new

21、 bitmap( bitmap(图片文件名图片文件名)vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1616页页3.hatchbrush3.hatchbrush画刷画刷( (阴影画刷阴影画刷) )定义阴影画刷,定义前景色和背景色及阴影风格。前景定义阴影画刷,定义前景色和背景色及阴影风格。前景色定义线条的颜色,背景色定义各线条之间间隙的颜色。色定义线条的颜色,背景色定义各线条之间间隙的颜色。两种用法:两种用法:格式格式1 1:dim dim 对象名对象名 as new hatchbrush(as new hatchbrush(阴影样式阴影样式, , 前前景色景色) )格式格

22、式2 2:dim dim 对象名对象名 as new hatchbrush(as new hatchbrush(阴影样式阴影样式, , 前前景色景色, , 背景色背景色) )常用属性:常用属性:backgroundcolorbackgroundcolor: :获取此获取此hatchbrushhatchbrush对象的背景色对象的背景色foregroundcolorforegroundcolor: :获取此获取此hatchbrushhatchbrush对象的前景色对象的前景色hatchstylehatchstyle: :获取此获取此hatchbrushhatchbrush对象的阴影样式。阴影对象

23、的阴影样式。阴影样式见教材样式见教材174174页表格页表格8-78-7vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1717页页4.lineargradientbrush4.lineargradientbrush画刷画刷( (颜色渐变画刷颜色渐变画刷) )渐变画刷的一种,用来产生渐变画刷的一种,用来产生线型渐变效果线型渐变效果。常用的渐变。常用的渐变效果是由两个颜色逐渐变化而来的。效果是由两个颜色逐渐变化而来的。格式:格式: dim dim 对象名对象名 as new as new lineargradientbrushlineargradientbrush( (渐变的

24、渐变的起始点,渐变的终结点,渐变的起始色起始点,渐变的终结点,渐变的起始色, ,渐变的终止色渐变的终止色) )说明:说明:前两个参数是前两个参数是pointpoint结构型的变量结构型的变量; ;pointpoint结构是一个结构类型结构是一个结构类型, ,表示一个点,有两个成员表示一个点,有两个成员x x和和y y,分别表示点的横坐标和纵坐标。,分别表示点的横坐标和纵坐标。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第1818页页5.pathgradientbrush5.pathgradientbrush画刷画刷( (使用路径及复杂的混合使用路径及复杂的混合色渐变画刷色

25、渐变画刷) )是路径渐变的,可以显示比较具有弹性的渐层效果。是路径渐变的,可以显示比较具有弹性的渐层效果。格式:格式: dim dim 对象名对象名 as new as new pathgradientbrushpathgradientbrush( points() as ( points() as system.drawing.pointsystem.drawing.point) )说明说明: :points():points():一个一个pointpoint结构的数组结构的数组, ,表示构成路径的顶点的表示构成路径的顶点的点。点。vb.netvb.net程序设计程序设计图形应用设计图形应用

26、设计第第1919页页用法:用法:dim g as graphicsdim g as graphics声明声明graphicsgraphics对象对象g = picturebox1.creategraphicsg = picturebox1.creategraphics创建创建graphicsgraphics对象对象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

27、, 200)10), new point(200, 200), new point(10, 200)声明声明pointpoint结构的数组结构的数组, ,表示构成路径的顶点的点。表示构成路径的顶点的点。dim mybrush as new pathgradientbrush(p)dim mybrush as new pathgradientbrush(p)用用pointpoint结构的数组结构的数组, ,创建一个路径渐变画刷实例。创建一个路径渐变画刷实例。dim mycolor() as color = color.yellow, color.blue, dim mycolor() as co

28、lor = color.yellow, color.blue, color.red, color.greencolor.red, color.green声明声明colorcolor的数组的数组, ,表示构成路径的顶点的点的颜色。表示构成路径的顶点的点的颜色。mybrush.surroundcolors = mycolormybrush.surroundcolors = mycolor设置填充路径点相应的颜色数组设置填充路径点相应的颜色数组g.fillpolygon(mybrush, p)g.fillpolygon(mybrush, p)用画刷和路径填充多边形用画刷和路径填充多边形mybrush

29、.dispose()mybrush.dispose()g g.dispose().dispose()释放对象释放对象vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2020页页8.2 graphics8.2 graphics常用图形的绘制常用图形的绘制绘制文本绘制文本绘制直线绘制直线绘制椭圆绘制椭圆绘制圆弧绘制圆弧绘制扇形绘制扇形绘制矩形绘制矩形绘制绘制bezierbezier曲线曲线绘制多边形绘制多边形绘制样条曲线绘制样条曲线绘制闭合曲线绘制闭合曲线vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2121页页一一. .绘制文本绘制文本绘制文本使用绘制文

30、本使用graphicsgraphics对象的对象的drawstringdrawstring方法方法最常用的格式:最常用的格式: drawstring(sdrawstring(s,fontfont,brushbrush,x x,y)y)说明:说明:s s:为要绘制的文本,为要绘制的文本,fontfont:为文本所使用的字体,为文本所使用的字体,brushbrush:为绘制文本所采用的画刷,为绘制文本所采用的画刷,x x:为绘制文本的为绘制文本的x x坐标,坐标,y y:为绘制文本的为绘制文本的y y坐标。坐标。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2222页页二二.

31、 .绘制直线绘制直线画直线可使用画直线可使用graphicsgraphics对象的对象的drawlinedrawline方法方法。格式格式1 1: drawline(byvaldrawline(byval pen as pen pen as pen,byvalbyval x1 as integer, x1 as integer, byvalbyval y1 as y1 as integer,byvalinteger,byval x2 as integer, x2 as integer, byvalbyval y2 as integer) y2 as integer)功能:功能:在由在由(x1,

32、y1)(x1,y1)和和(x2,y2)(x2,y2)指定的点之间画一条直线。指定的点之间画一条直线。说明:说明:pen:pen:是画笔;是画笔;x1x1,y1y1:直线起点的坐标;直线起点的坐标;x2,y2x2,y2:直线终点的坐标。直线终点的坐标。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2323页页格式格式2 2: drawline(byvaldrawline(byval pen as pen pen as pen,byvalbyval pt1 as point pt1 as point,byvalbyval pt2 as point) pt2 as point)

33、功能:功能:在在pt1pt1和和pt2pt2指定的两点之间画一条直线。指定的两点之间画一条直线。说明:说明:penpen:是画笔;是画笔;pt1pt1和和pt2pt2:两个点;两个点;pointpoint是一个结构类型是一个结构类型, ,表示在二维平面中定义点的整数表示在二维平面中定义点的整数 x x 和和 y y 坐标的有序对。坐标的有序对。x x属性:属性:获取或设置此获取或设置此 point point 的的 x x 坐标。坐标。y y属性:属性:获取或设置此获取或设置此 point point 的的 y y 坐标。坐标。 vb.netvb.net程序设计程序设计图形应用设计图形应用设计

34、第第2424页页三三. .绘制椭圆绘制椭圆绘制椭圆使用绘制椭圆使用graphicsgraphics对象的对象的drawellipsedrawellipse方法方法。格式格式1 1: drawellipse(byvaldrawellipse(byval pen as pen as pen,byvalpen,byval rectrect as rectangle) as rectangle)功能:功能:绘制边界由绘制边界由rectrect指定的椭圆。指定的椭圆。说明:说明:penpen:画笔;画笔;rectrect:是是rectangle(rectangle(矩形结构)型数据,它定义了椭圆矩形结构

35、)型数据,它定义了椭圆的外接矩形;的外接矩形;rectanglerectangle:存储四个整数存储四个整数, ,表示一个矩形的位置和大小表示一个矩形的位置和大小 x x:获取或设置此获取或设置此 rectangle rectangle 结构左上角的结构左上角的 x x 坐标。坐标。 y y:获取或设置此获取或设置此 rectangle rectangle 结构左上角的结构左上角的 y y 坐标。坐标。 widthwidth:获取或设置此获取或设置此 rectangle rectangle 结构的宽度。结构的宽度。 heightheight:获取或设置此获取或设置此 rectangle rec

36、tangle 结构的高度。结构的高度。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2525页页格式格式2 2: drawellipse(byvaldrawellipse(byval pen as pen pen as pen,byvalbyval x as integer, x as integer, byvalbyval y as y as integer,byvalinteger,byval width as width as integer,byvalinteger,byval height as integer)height as integer)功能:功能:绘

37、制一个由边框绘制一个由边框( (该边框由一对坐标、高度和宽度该边框由一对坐标、高度和宽度指定指定) )定义的椭圆。定义的椭圆。说明:说明:penpen:画笔;画笔;x x,y y:外接框左上角的坐标;外接框左上角的坐标;widthwidth:定义椭圆外接框的宽度;定义椭圆外接框的宽度;heightheight:定义椭圆外接框的高度。定义椭圆外接框的高度。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2626页页四四. .绘制圆弧绘制圆弧绘制椭圆使用绘制椭圆使用graphicsgraphics对象的对象的drawarcdrawarc方法方法。格式格式1 1: drawarc

38、(byvaldrawarc(byval pen as pen pen as pen,byvalbyval rectrect as rectangle as rectangle,byvalbyval startanglestartangle as as single,byvalsingle,byval sweepanglesweepangle as as single)single)功能:功能:绘制由绘制由rectrect指定矩形内接椭圆的部分圆弧。指定矩形内接椭圆的部分圆弧。说明:说明:rectrect:是一个是一个rectangle(rectangle(也可以是也可以是rectanglefr

39、ectanglef结构结构) ),它,它定义椭圆的边界。定义椭圆的边界。startanglestartangle:定义了从定义了从x x轴到弧线的起始点沿顺时针方向轴到弧线的起始点沿顺时针方向度量的角度量的角( (以度为单位以度为单位) )。sweepanglesweepangle:定义了从定义了从startanglestartangle参数到弧线的结束点参数到弧线的结束点沿顺时针方向度量的角沿顺时针方向度量的角( (以度为单位以度为单位) )。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2727页页格式格式2 2: drawarc(byvaldrawarc(byval

40、 pen as pen pen as pen,byvalbyval x as x as integer,byvalinteger,byval y as y as integer,byvalinteger,byval width as width as integer,byvalinteger,byval height as height as integer,byvalinteger,byval startanglestartangle as as integer,byvalinteger,byval sweepanglesweepangle as integer) as integer)功能

41、:功能:绘制一段弧线,该弧线是由一对坐标、宽度和高绘制一段弧线,该弧线是由一对坐标、宽度和高度指定的椭圆的一部分。度指定的椭圆的一部分。 说明:说明:x x、y y:定义了椭圆外接矩形左上角的横坐标和纵坐标。定义了椭圆外接矩形左上角的横坐标和纵坐标。widthwidth:定义了椭圆的外接矩形的宽度。定义了椭圆的外接矩形的宽度。heightheight:定义了椭圆的外接矩形的高度。定义了椭圆的外接矩形的高度。startanglestartangle:定义了从定义了从x x轴到弧线的起始点沿顺时针方向轴到弧线的起始点沿顺时针方向度量的角。度量的角。sweepanglesweepangle:定义弧经

42、过的点。定义弧经过的点。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2828页页五五. .绘制扇形绘制扇形piepie方法方法画椭圆弧,并且弧的两个端点与圆心连线。画椭圆弧,并且弧的两个端点与圆心连线。格式:格式: drawpie(pendrawpie(pen as system as systemdrawingdrawingpenpen,x as integerx as integer,y y as_integeras_integer,width as integerwidth as integer,height as integerheight as integer

43、,startanglestartangle as_ integer as_ integer,sweepanglesweepangle as integer) as integer)说明:说明:绘制一个扇形。绘制一个扇形。说明:说明:penpen:画笔。画笔。x x:限制椭圆矩形左上角限制椭圆矩形左上角x x坐标。坐标。y y:限制椭圆矩形左上角限制椭圆矩形左上角y y坐标。坐标。widthwidth:限制椭圆矩形的宽。限制椭圆矩形的宽。heightheight:限制椭圆矩形的高。限制椭圆矩形的高。startanglestartangle:弧的起始点。弧的起始点。sweepanglesweepa

44、ngle:弧经过的点。弧经过的点。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第2929页页六六. .绘制矩形绘制矩形使用使用graphicsgraphics对象的对象的drawrectangledrawrectangle方法可以绘制矩形。方法可以绘制矩形。格式格式1 1: drawrectangle(byvaldrawrectangle(byval pen as pen as pen,byvalpen,byval rectrect as as rectangle)rectangle)功能:功能:绘制一个矩形。绘制一个矩形。说明:说明:penpen:画笔。画笔。rectr

45、ect:表示要绘制矩形的表示要绘制矩形的rectanglerectangle结构。结构。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3030页页格式格式2 2: drawrectangle(byvaldrawrectangle(byval pen as pen as pen,byvalpen,byval x as x as integer,byvalinteger,byval y as y as integer,byvalinteger,byval width as width as integer,byvalinteger,byval height as intege

46、r) height as integer)功能:功能:绘制一个由左上角坐标、宽度和高度指定的矩形。绘制一个由左上角坐标、宽度和高度指定的矩形。说明:说明:penpen:画笔。画笔。x x、y y:分别是要绘制的矩形的左上角的横坐标和纵坐标。分别是要绘制的矩形的左上角的横坐标和纵坐标。widthwidth:是要绘制的矩形的宽度。是要绘制的矩形的宽度。heightheight:是要绘制的矩形的高度。是要绘制的矩形的高度。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3131页页七七. .绘制绘制bezier(bezier(贝塞尔曲线贝塞尔曲线 ) )使用使用graphicsg

47、raphics对象的对象的drawbezierdrawbezier方法画一条方法画一条bezierbezier曲线曲线格式:格式: drawbezier(pendrawbezier(pen as system as systemdrawingdrawingpenpen,x1 as x1 as singlesingle, y1 y1 as_singleas_single,x2 as singlex2 as single,y2 as singley2 as single,x3 as singlex3 as single,y3 as singley3 as single,_x4 as single_

48、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个起点,个起点,1 1个终点,四个终点,四个点决定一条个点决定一条bezierbezier曲线。曲线。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3232页页八八. .绘制多边形绘制多边

49、形使用使用graphicsgraphics对象的对象的drawpolygondrawpolygon方法方法可以绘制多边形。可以绘制多边形。格式格式1 1: drawpolygon(byvaldrawpolygon(byval pen as pen pen as pen,byvalbyval points()aspoints()as point)point)功能:功能:绘制由一组绘制由一组pointpoint结构定义的多边形。结构定义的多边形。说明:说明:penpen:画笔。画笔。pointspoints:是是pointpoint结构的数组,用来表示多边形的顶点。结构的数组,用来表示多边形的顶点

50、。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3333页页格式格式2 2: drawpolygon(byvaldrawpolygon(byval pen as pen pen as pen,byvalbyval points()aspoints()as pointfpointf) )功能:功能:绘制由一组绘制由一组pointfpointf结构定义的多边形。结构定义的多边形。说明:说明:penpen:画笔。画笔。pointspoints:是是pointfpointf结构的数组,用来表示多边形的顶点。结构的数组,用来表示多边形的顶点。pointfpointf结构与结构与po

51、intpoint结构的不同结构的不同之处在于之处在于pointfpointf可以使用可以使用实数表示点的坐标,而实数表示点的坐标,而pointpoint结构只能使用整数。结构只能使用整数。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3434页页九九. .绘制样条曲线绘制样条曲线使用使用graphicsgraphics对象的对象的drawcurvedrawcurve方法方法绘制经过一组由指定绘制经过一组由指定的的pointpoint结构的基数样条曲线。结构的基数样条曲线。格式:格式: drawcurve(byvaldrawcurve(byval pen as pen pe

52、n as pen,byvalbyval points() as points() as point)point)功能:功能:绘制由一组绘制由一组pointpoint结构定义的样条曲线。结构定义的样条曲线。说明:说明:penpen:画笔。画笔。pointspoints:是是pointpoint结构的数组,用来表示多边形的顶点。结构的数组,用来表示多边形的顶点。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3535页页十十. .绘制闭合曲线绘制闭合曲线使用使用graphicsgraphics对象的对象的drawclosedcurvedrawclosedcurve方法方法可以绘

53、制闭合可以绘制闭合曲线。曲线。格式格式1 1: drawclosedcurve(byvaldrawclosedcurve(byval pen as pen as pen,byvalpen,byval points()aspoints()as point)point)功能:功能:绘制由绘制由pointpoint结构的数组定义的闭合曲线。结构的数组定义的闭合曲线。说明:说明:penpen:画笔。画笔。pointspoints:用来定义绘制曲线的样点,此方法绘制经过数用来定义绘制曲线的样点,此方法绘制经过数组中每个点的闭合曲线。如果最后一个点不匹配第一个组中每个点的闭合曲线。如果最后一个点不匹配第一

54、个点,则在最后一个点和第一个点之间添加一条附加曲线点,则在最后一个点和第一个点之间添加一条附加曲线段以使该图闭合。此方法使用默认张力段以使该图闭合。此方法使用默认张力0.50.5。另外。另外pointspoints也可以是也可以是pointfpointf结构的数组。结构的数组。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3636页页格式格式2 2: drawclosedcurve(byvaldrawclosedcurve(byval pen as pen pen as pen,byvalbyval points()aspoints()as point point, by

55、valbyval tension as single tension as single,byvalbyval fillmodefillmode as as fillmodefillmode) )功能:功能:使用指定的张力绘制由使用指定的张力绘制由pointpoint结构数组定义的闭合结构数组定义的闭合基数样条。基数样条。说明:说明:penpen:画笔。画笔。pointspoints:用来定义绘制曲线的样点,此方法绘制经过数用来定义绘制曲线的样点,此方法绘制经过数组中每个点的闭合曲线。如果最后一个点不匹配第一个组中每个点的闭合曲线。如果最后一个点不匹配第一个点,则在最后一个点和第一个点之间添加

56、一条附加曲线点,则在最后一个点和第一个点之间添加一条附加曲线段以使该图闭合。段以使该图闭合。pointspoints也可以是也可以是pointfpointf结构的数组。结构的数组。tensiontension:是一个大于或等于是一个大于或等于0.0f0.0f的值,该值指定曲线的的值,该值指定曲线的张力。张力。通过张力,可更改基数样条曲线的弯曲方式。请通过张力,可更改基数样条曲线的弯曲方式。请注意,当张力为注意,当张力为 0 0 时,这些点由一条直线连接。时,这些点由一条直线连接。 fillmodefillmode:是是fillmodefillmode枚举的成员,它确定填充曲线的枚举的成员,它确

57、定填充曲线的方式,需要此参数但其值被忽略。方式,需要此参数但其值被忽略。vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3737页页8.3 8.3 填充图形填充图形一一. .填充矩形填充矩形fillrectanglefillrectangle语法:语法:fillrectanglefillrectangle( (画刷,矩形对象或坐标画刷,矩形对象或坐标) )二二. .填充椭圆内部填充椭圆内部用用fillellipsefillellipse可以画一个填充椭圆可以画一个填充椭圆语法:语法:fillellipsefillellipse( (画刷,矩形对象或坐标画刷,矩形对象或坐标)

58、 )三三. .填充多边形填充多边形用用fillpolygonfillpolygon画一个填充多边形画一个填充多边形语法:语法:pillpolygonpillpolygon( (画刷,坐标,填充方式画刷,坐标,填充方式) )vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3838页页四四. .填充饼图填充饼图使用使用graphicsgraphics对象的对象的fillpiefillpie方法方法可以填充饼图。可以填充饼图。格式格式1 1: fillpie(byvalfillpie(byval brush as brush brush as brush,byvalbyval r

59、ectrect as as rectanglerectangle,byvalbyval startanglestartangle as single as single,byvalbyval sweepanglesweepangle as single) as single)功能:功能:填充椭圆所定义的扇形区的内部,该扇形区由填充椭圆所定义的扇形区的内部,该扇形区由rectanglerectangle结构和两条射线指定。结构和两条射线指定。说明:说明:brushbrush:画刷。画刷。rectrect:是一个是一个rectanglerectangle或或rectanglefrectanglef

60、结构,它定义椭圆结构,它定义椭圆的边界。的边界。startanglestartangle:定义了从定义了从x x轴到弧线的起始点沿顺时针方向轴到弧线的起始点沿顺时针方向度量的角度量的角( (以度为单位以度为单位) )。sweepanglesweepangle:定义了从定义了从startanglestartangle参数到弧线的结束点参数到弧线的结束点沿顺时针方向度量的角沿顺时针方向度量的角( (以度为单位以度为单位) )。 vb.netvb.net程序设计程序设计图形应用设计图形应用设计第第3939页页格式格式2 2: fillpie(byvalfillpie(byval brush as b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论