




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章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属性用来返回或设置图形方法输出的线型。该属性的设置值04的效果分别与Line控件的BordeStyle属性的15对应。若DrawWidth属性设置值大于1,在DrawStyle属性被设置为14时,只能画实线。,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:DocumentsandSettingsAllUsersDocumentsMyPictures示例图片Winter.jpg)Image2.Picture=LoadPicture(C:DocumentsandSettingsAllUsersDocumentsMyPictures示例图片Sunset.jpg)EndSubPrivateSubCommand1_Click()Image3.Picture=Image1.PictureImage1.Picture=Image2.PictureImage2.Picture=Image3.PictureImage3.Picture=LoadPicture()EndSub,9.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属性,决定了线的宽度。语法格式如下:对象.LineStep(x1,y1)-Step(x2,y2),颜色,BF,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属性决定。画直线时,省略BF参数;画矩形时,参数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+8PrintiNextEndSub,9.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)返回最初的起点EndSub,9.3绘图方法,9.3.2Pset方法用于在窗体、图片框指定位置上画点,还可以为点指定颜色,利用Pset方法可画任意曲线。其语法格式如下:对象.PsetStep(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),vbYellowNexttEndSub,9.3绘图方法,9.3.3Circle方法Circle方法用于画圆、椭圆、圆弧和扇形,其语法格式如下:对象.CircleStep(x,y),半径,颜色,起始角,终止角,纵横比,9.3绘图方法,说明:(1)对象:可以是窗体、图片框或打印机,省略时默认为当前窗体。(2)(x,y):为圆心坐标。(3)Step:表示采用当前作图位置的相对值。(4)颜色:指定圆周边线的颜色。若省略,则使用ForeColor属性值。可以使用所属对象的FillColor和FillStyle属性填充封闭的图形。(5)起始角和终止角:圆弧和扇形通过参数起始角、终止角控制。当起始角、终止角取值在02时为圆弧。当在起始角、终止角的取值前加一负号时,画出扇形,负号表示从圆心到圆弧端点画径向线。(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.14,9.3绘图方法,例题9-7:用Circle方法完成各种圆形图案的绘制,并选择适当颜色进行填充。运行效果如图所示。,9.3绘图方法,PrivateSubForm_Resize()Form1.Scale(-50,50)-(50,-50)Form1.Circle(-20,20),10,vbRed画一个圆心(-20,20)半径10的红色的圆(默认空心)Form1.FillStyle=0设定填充模式为实心Form1.FillColor=vbBlue设定填充色蓝色Form1.Circle(20,20),10,vbRed下来画出来的就是填充了实心蓝色的圆了Form1.DrawWidth=3设定边框宽度为3Form1.Circle(-20,-20),10,vbRed这次绘制出来的圆边框粗细为3Form1.DrawStyle=5设定边框不可见Form1.FillColor=vbRed设定填充色红色Form1.Circle(20,-20),10这次绘制出来一个无边框、填充颜色是红色的圆EndSub,9.3绘图方法,例题9-8:用Circle方法画圆、椭圆、圆弧和扇形。运行效果如图所示。,9.3绘图方法,PrivateSubForm_Resize()ConstPi=3.1415926Circle(800,600),400,RGB(255,0,0)画圆Circle(2000,600),400,RGB(255,0,0),1.5画椭圆Circle(3200,600),400,RGB(255,0,0),0.5Circle(1200,2400),900,RGB(255,0,0),Pi/6,Pi弧Circle(1400,2800),900,-Pi/3,-Pi空心扇形,起始角、终止角均为负值FillColor=vbGreen填充颜色FillStyle=0DrawWidth=3Circle(3000,2200),7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中医主治内科医生考试题及答案
- (2025)放射工作人员培训考试试题(附含答案)
- 2025年青少年心理健康知识考试试题及答案
- 2025年院感安全月培训理论试卷及答案
- 运营部流程优化职责
- (新版)血液透析专科理论考试题库及答案
- 手术室感染预防与控制试题及答案
- 旋风分离器考试题及答案
- 2025生物安全考试题库及答案
- 环保领域生物实验教学计划
- 未成年人违法犯罪警示教育
- 高一学生手册考试试题及答案
- 廉政参观活动方案
- 律师事务所客户数据安全管理制度
- 孕妇学校健康教育课件
- 医务人员艾滋病知识培训
- erp权限管理制度
- 2025年重庆中考道德与法治试卷真题解读答案讲解(课件)
- 厦门垃圾分类题目及答案
- 湘美版(2024)美术一年级上册第1课 桑叶和蚕宝宝 课件T内嵌视频
- (中职)仪器分析技术(项目1-15)配套教材课件完整版电子教案
评论
0/150
提交评论