第9章 Visual Basic图形处理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第九章VisualBasic图形处理第九章VisualBasic图形处理•9.1图形操作基础•9.2图形控件•9.3绘图方法9.1图形操作基础•9.1.1坐标系统对象定位使用的是容器的坐标系,每个容器都有一个坐标系。坐标系由三要素构成:坐标原点,坐标度量单位(刻度),坐标轴的长度与方向。9.1图形操作基础1.坐标原点与坐标轴方向在默认的VB坐标系统中,原点(0,0)位于容器内部的左上角,X轴的正向水平向右,Y轴的正向垂直向下。对于窗体和图片框来说,这里所说的“容器内部”是指可以容纳其他控件并且可用于绘图的区域,该区域称为绘图区或工作区。绘图区不包括边框,窗体的绘图区还要将标题栏和菜单栏(若有)除外。因此,窗体中控件的Left属性是指控件左上角到窗体绘图区左边的距离,Top属性是控件左上角到窗体绘图区顶边的距离。9.1图形操作基础2.坐标刻度坐标刻度即容器内坐标的度量单位。VB中默认的刻度为缇(1厘米约为567缇,1英寸约为1440缇)。刻度由窗体、图片框等容器对象的ScaleMode属性决定,该属性的设置值如表12.1所示,其中大于0的设置值称为标准刻度。9.1图形操作基础ScaleMode属性的设置值:9.1图形操作基础3.自定义坐标系在实际应用中,有时可能需要改变坐标系的原点、坐标轴的方向或刻度,这时就要建立自己的坐标系。创建自定义坐标系可以使用容器对象的属性,亦可使用它的方法。9.1图形操作基础9.1.2颜色设置•1.使用QBColor函数•2.使用RGB函数•3.使用VB系统颜色常数•4.使用颜色值9.1图形操作基础9.1.3图形属性1.线宽和线型•DrawWidth属性用来返回或设置图形方法输出的线宽。•DrawStyle属性用来返回或设置图形方法输出的线型。该属性的设置值0~4的效果分别与Line控件的BordeStyle属性的1~5对应。若DrawWidth属性设置值大于1,在DrawStyle属性被设置为1~4时,只能画实线。9.1图形操作基础2.填充颜色与填充样式•FillColor属性用于为Line和Circle方法生成的矩形和圆填充颜色。•FillStyle属性用于为Line和Circle方法生成的矩形和圆指定填充的图案。该属性的设置值与Shape控件的FillStyle属性相同。除Form对象外,若FillStyle属性被设置为默认值1(透明),则忽略FillColor属性的设置值。9.2图形控件9.2.1图形框控件图形框控件(PictureBox)可以用来显示位图、JPGE、GIF、图标等格式的图片,在工具箱面板中,图形框控件的图标如图9-2所示。图形框的图片加载方式有两种,一是通过Picture属性选择需要加载的图片,二是通过LoadPicture()函数实现。9.2图形控件9.2.2图像框控件图像框控件(Image)是用来控制图形图像输出的,用户可以通过所建立的Image对象来指定图像文件贴在窗体的位置。9.2图形控件前面讲过,图形框与图像框的用法基本相同,但有以下区别:(1)图形框是“容器”控件,可以作为父控件,而图像框不能作为父控件。也就是说,在图形框中可以包含其他控件,而其他控件不能“属于”一个图像框。图形框是一个“容器”,可以把其他控件放在该控件上,作为它的“子控件”。当图形框中含有其他控件时,如果移动图形框,则框中的控件也随着一起移动,并且与图形框的相对位置保持不变;图形框内的控件不能移到图形框外。(2)图形框可以通过Print方法接收文本,并可接收由像素组成的图形,而图像框不能接收Print方法输入的信息,也不能用绘图方法在图像框上绘制图形。每个图形框都有一个内部光标(不显示),用来批示下一个将被绘制的点的位置,这个位置就是当前光标的坐标,通过CurrentX和CurremY属性来记录。(3)图像框比图形框占用的内存少,显示速度快。在用图形框和图像框都能满足需要的情况下,应优先考虑使用图像框。9.2图形控件例题9-3:编写如下代码,在两个图像框中实现图像文件的交换,运行效果如图所示。9.2图形控件PrivateSubForm_Load()Image1.Picture=LoadPicture(C:\DocumentsandSettings\AllUsers\Documents\MyPictures\示例图片\Winter.jpg)Image2.Picture=LoadPicture(C:\DocumentsandSettings\AllUsers\Documents\MyPictures\示例图片\Sunset.jpg)EndSubPrivateSubCommand1_Click()Image3.Picture=Image1.PictureImage1.Picture=Image2.PictureImage2.Picture=Image3.PictureImage3.Picture=LoadPicture()EndSub9.2图形控件9.2.3直线控件和形状控件直线控件(Line)是VisualBasic提供的画线工具。使用直线控件的方法与使用其他控件相同,单击工具箱中直线控件的图标,然后把鼠标移到窗体中所需的位置,按下鼠标左键拖拉到直线的终点,松开鼠标,即可完成直线的绘制。Line控件主要属性是BorderWidth、BorderStyle和BorderColor属性,以及x1、y1和x2、y2属性。BorderWidth确定线的宽度,BorderStyle确定线的形状,BorderColor确定线的颜色。x1、y1和x2、y2属性控制线的两个端点的位置。9.2图形控件Shape控件可以用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形。将Shape控件添加到窗体时默认为矩形,通过Shape属性可确定所需要的几何形状。FillStyle属性为形状控件指定填充的图案,FillColor属性用于为形状控件着色。该控件也具有BorderWidth、BorderStyle和BorderColor属性,分别为边线的宽度、样式和颜色。9.3绘图方法9.3.1Line方法•Line方法用于在对象上画直线或矩形。画连接线时,前一条线的终点是后一条线的起点。DrawWidth属性,决定了线的宽度。语法格式如下:[对象.]Line[[Step](x1,y1)]-[Step](x2,y2)[,颜色][,B[F]]9.3绘图方法说明:(1)对象:可以是窗体或图片框,默认时为当前窗体。(2)(x1,y1):线段的起点坐标或矩形的左上角坐标。(3)(x2,y2):线段的终点坐标或矩形的右下角坐标。(4)Step:表示采用当前作图位置的相对值。(5)颜色:所绘制图形的颜色,可以使用RGB函数或QBColor参数指定。若省略,则使用对象的ForeColor属性值。(6)B:表示画矩形。(7)F:表示用画矩形的颜色来填充矩形,F必须与关键字B一起使用。如果只用B不用F,则矩形的填充由对象当前的FillColor和FillStyle属性决定。画直线时,省略[B][F]参数;画矩形时,参数B为空心矩形,BF为实心矩形。9.3绘图方法例题9-4:使用Line方法绘制柱状图,并用不同颜色进行填充。运行效果如图所示。9.3绘图方法PrivateSubForm_Load()ClsScale(0,100)-(100,0)Constx0=5Consty0=10Line(x0,y0)-(x0,90)'绘制Y轴Line(x0,y0)-(90,y0)'绘制X轴Line(x0,90)-(7,87)'绘制Y轴箭头Line(x0,90)-(3,87)Line(90,10)-(87,12)'绘制X轴箭头Line(90,10)-(87,8)Fori=1To7'绘制矩形并填充颜色FillStyle=iFillColor=RGB(255-i*20,255-i*30,255-i*10)Line(x0+i*10,y0+i*10)-(x0+i*10+6,y0),,BCurrentX=x0+i*10-1CurrentY=y0+i*10+8PrintiNextEndSub9.3绘图方法例题9-5:使用Line方法绘制五角星。运行效果如图所示。9.3绘图方法PrivateSubForm_Load()ScaleMode=3DrawWidth=3Line(150,30)-Step(-50,110),RGB(255,0,0)'终点采用相对坐标Line-Step(120,-65),RGB(255,0,0)'以上次画线的终点为本次画线起点Line-Step(-140,0),RGB(255,0,0)Line-Step(120,65),RGB(255,0,0)Line-(150,30),RGB(255,0,0)'返回最初的起点EndSub9.3绘图方法9.3.2Pset方法用于在窗体、图片框指定位置上画点,还可以为点指定颜色,利用Pset方法可画任意曲线。其语法格式如下:[对象.]Pset[Step](x,y)[,Color]9.3绘图方法说明:(1)参数(x,y)为所画点的水平和垂直坐标。(2)Step表示采用当前作图位置的相对值。(3)Color为点的颜色。9.3绘图方法例题9-6:选择适当颜色利用Pset方法绘制花型图案。运行效果如图所示。9.3绘图方法PrivateSubForm_Resize()ClsDimxAsSingle,yAsSingleDimrAsSingle,tAsSingleConstpi=3.1415926Scale(-50,50)-(50,-50)Fort=0To2*piStep0.0002r=45*Cos(6*t)x=r*Cos(t)y=r*Sin(t)PSet(x,y),vbRedPSet(x*0.5,y*0.5),vbGreenPSet(x*0.3,y*0.3),vbBluePSet(x*0.1,y*0.1),vbYellowNexttEndSub9.3绘图方法9.3.3Circle方法Circle方法用于画圆、椭圆、圆弧和扇形,其语法格式如下:[对象.]Circle[Step](x,y),半径[,颜色,起始角,终止角,纵横比]9.3绘图方法说明:(1)对象:可以是窗体、图片框或打印机,省略时默认为当前窗体。(2)(x,y):为圆心坐标。(3)Step:表示采用当前作图位置的相对值。(4)颜色:指定圆周边线的颜色。若省略,则使用ForeColor属性值。可以使用所属对象的FillColor和FillStyle属性填充封闭的图形。(5)起始角和终止角:圆弧和扇形通过参数起始角、终止角控制。当起始角、终止角取值在0~2π时为圆弧。当在起始角、终止角的取值前加一负号时,画出扇形,负号表示从圆心到圆弧端点画径向线。(6)纵横比:控制画椭圆,默认值为1,此时为标准圆。9.3绘图方法使用Circle方法时,如果想省掉中间的参数,逗号不能省略。例如:画椭圆省掉了颜色、起始角、终止角三个参数,则必须加上四个连续的逗号,它表明这三个参数被省掉了。几种常用格式如下:画圆:对象名.Circle(X,Y),半径[,颜色]例如:Me.Circle(100,100),70,RGB(255,0,0)画椭圆:对象名.Circle(X,Y),半径[,颜色],,,纵横比例如:Me.Circle(100,100),70,RGB(255,0,0),,,0.5画弧线:对象名.Circle(X,Y),半径[,颜色],起始角,终止角[,纵横比]例如:Me.Circle(100,100),70,RGB(255,0,0),1/4*3.14,3/4*3.14,1.5画扇形:对象名.Circle(X,Y),半径[,颜色],-起始角,-终止角[,纵横比]例如:Me.Circle(100,100),70,RGB(255,0,0),1/4*3.14,-3/4*3.149.3绘图方法例题9-7:用Circle方法完成各种圆形图案的绘制,并选择适当颜色进行填充。运行效果如图所示。9.3绘图方法

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功