第十章节图形的控制跟处理课件课本新.ppt_第1页
第十章节图形的控制跟处理课件课本新.ppt_第2页
第十章节图形的控制跟处理课件课本新.ppt_第3页
第十章节图形的控制跟处理课件课本新.ppt_第4页
第十章节图形的控制跟处理课件课本新.ppt_第5页
免费预览已结束,剩余40页可下载查看

下载本文档

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

文档简介

第10章图形的控制与处理,主讲:,10.1图形控件,VB提供的与绘图有关的标准控件有图片框(PictureBox)、图像框(Image)、直线(Line)和形状(Shape)。Image、Line、Shape控件需要较少的系统资源,且包含PictureBox中可用的属性、方法和事件子集,因此他们比PictureBox控件显示速度快些。PictureBox和Image控件可以显示位图、图标、图元文件中的图形,也可处理GIF和JPEG格式的图形文件。,10.1.1PictureBox控件,图片框(PictureBox)控件的主要作用是在窗体的指定位置为用户显示图片,也可作为其它控件的容器、显示Print方法输出的文本或显示图形方法输出的图形。实际显示的图片由Picture属性决定。在工具箱面板中,PictureBox控件的图标如图10-1所示。,图10-1PictureBox控件的图标,10.1.1PictureBox控件,1、主要属性,10.1.1PictureBox控件,2、加载图片,(1)在设计阶段加载图片文件有两种方法:1)通过设置属性窗口中的Picture属性来加载图片,步骤如下:在窗体上建立一个图片框保持图片框为激活的控件,在属性窗口中找到Picture属性,单击该属性条,其右侧出现“”按钮单击“”按钮,屏幕显示“加载图片”对话框,从相应文件夹中找到所需加载的图片,单击打开,图片即被加载2)利用剪贴板加载用绘图或图像处理软件完成图形处理,并将图形复制到剪贴板中切换到VB,在窗体上建立图片框,并保持为激活状态使用“粘贴”命令,即完成图片加载,10.1.1PictureBox控件,2、加载图片,(2)在运行阶段通过LoadPicture函数加载图片,格式如下:对象名.Picture=LoadPicture(图片文件名)例如:加载图片:Picture1.Picture=LoadPicture(C:PicMyPic1.gif),10.1.1PictureBox控件,3卸载图片和复制图片,(1)卸载图片卸载图片文件也有两种方法:一种是在设计阶段卸载,另一种是在运行阶段卸载。在设计阶段设置属性窗口中的Picture属性为None,在运行阶段通过LoadPicture函数卸载图片,格式如下:对象名.Picture=LoadPicture()(2)复制图片复制图片可以利用Picture属性和LoadPicture()函数来完成,如:Picture1.Picture=LoadPicture(C:PicMyPic1.gif)Picture2.Picture=Picture1.Picture,10.1.1PictureBox控件,4图形文件的保存,格式:SavePicturepicture,stringexpression说明:picture:图片框对象或其他对象的picture属性Stringexpression:文件名,10.1.1PictureBox控件,5Paint事件,在一个对象被移动或放大之后,或在一个覆盖该对象的窗体被移开之后,该对象部分或全部暴露时,此事件发生。如果AutoRedraw属性被设置为True,重新绘图会自动进行,就不需要Paint事件。,10.1.1PictureBox控件,6常用方法,图片框中常使用Cls方法和Print方法。【例10-1】在C:新建一个文件夹stu1,将我的文档中的示例图片Sunset.JPG复制到stu1文件夹下。再启动VB,在stu1文件夹下新建一个工程文件,其布局与运行结果如图10-2所示。,图10-2控件布局图及运行结果图,10.1.1PictureBox控件,(1)控件选择:两个标签控件:Label1、Label2;两个图片框控件:Picture1、Picture2;三个命令按钮:Cmd1、Cmd2、Cmd3(2)控件属性设置:,10.1.1PictureBox控件,(3)代码编写:编写命令按钮Cmd1的Click事件:PrivateSubCmd1_Click()Picture1.Picture=LoadPicture(App.Path&Sunset.JPG)EndSub编写命令按钮Cmd2的Click事件:PrivateSubCmd2_Click()Picture2.Picture=Picture1.PictureEndSub编写命令按钮Cmd3的Click事件:PrivateSubCmd3_Click()Picture1.Picture=LoadPicture()Picture2.Picture=LoadPicture()EndSub说明:App.Path用于取得当前工程文件所在的文件夹路径,App.Path&Sunset.JPG指明了Sunset.JPG文件的物理位置。这种方法常被应用,可提高程序的可移植性。,10.1.2Image控件,图像框(Image)控件是一个简单易用的显示图像文件的控件,其使用的系统资源较少而且显示速度较快,它可以自动调整自身的大小以适应图像大小,或者伸缩图像的大小使图像适合图像框控件的大小。Image加载图片的方法和使用图片的文件格式与PictureBox相同。在工具箱面板中,Image控件的图标如图10-3所示。,图10-3Image控件的图标,10.1.2Image控件,1.主要属性,10.1.2Image控件,2常用事件图像框可以响应Click和DblClick事件3Image与PictureBox的区别(1)PictureBox是“容器”控件,可以作为父控件,而Image不能作为父控件。也就是说,在PictureBox中,可以包含其它控件,作为他的子控件,如果移动PictureBox,则框中的控件也随之一起移动,并且与PictureBox的相对位置保持不变;当PictureBox的大小改变时,这些子控件的图片控制的相对位置保持不变,PictureBox内的子控件也不能移到PictureBox外。(2)PictureBox可以通过Print方法接收文本,并可接收由像素组成的图形,而Image不能接受用Print方法输入的信息,也不能用绘图方法在Image上绘制图形。(3)Image比PictureBox占用内存少,显示速度快。(4)Image没有AutoSize属性,但可以实现图形缩放,10.1.2Image控件,【例10-2】在C:新建一个文件夹stu2,将我的文档中的示例图片Sunset.JPG复制到stu2文件夹下。再启动VB,在stu2文件夹下新建一个工程文件,其布局与运行结果如图10-4所示。,图10-4控件布局图及运行结果图,10.1.2Image控件,(1)控件选择:1个图像框Image1;2个命令按钮:Command1、Command2(2)控件属性设置,10.1.2Image控件,(3)代码编写:编写命令按钮Command1的Click事件:PrivateSubCommand1_Click()IfImage1.Height1000OrImage1.Width2000ThenImage1.Height=Image1.Height-500Image1.Width=Image1.Width-500EndIfEndSub编写窗体Form1的Load事件:PrivateSubForm_Load()Image1.Picture=LoadPicture(App.Path&Sunset.JPG)EndSub,10.1.3Line控件,Line控件可用来在窗体、框架或图片框中创建各种直线。既可以在设计时通过设置直线的端点坐标来画直线,又可以在程序运行时动态地改变直线的各种属性。Line控件主要属性是BorderWidth、BorderStyle和BorderColor属性,以及X1、Y1和X2、Y2属性。BorderWidth确定线的宽度,BorderStyle确定线的形状,BorderColor确定线的颜色。X1、Y1和X2、Y2属性控制线的两个端点的位置。程序运行时,不能使用Move方法移动Line控件,但是可以通过改变X1、Y1、X2、Y2属性来移动或调整直线。在工具箱面板中,Line控件的图标如图10-5所示。,图10-5Line控件的图标,10.1.4Shape控件,Shape控件可用来在窗体、框架或图片框中创建矩形、正方形、椭圆形、圆形、圆角矩形或圆角正方形。通过设置Shape控件的Shape属性来实现所需要的形状,以控制Shape控件的外观。在工具箱面板中,Shape控件的图标如图10-6所示。,图10-6Shape控件的图标,10.1.4Shape控件,语法:对象名.Shape=value其中,对象名是Shape控件的Name属性;value用来指定控件外观的整数。其设置值如表10-5所示。,10.2坐标系统,对象定位使用的是容器的坐标系,每个容器都有一个坐标系。坐标系由三要素构成:坐标原点,坐标度量单位(刻度),坐标轴的长度与方向。VB提供两类坐标系:默认坐标系和自定义坐标系。默认坐标系中原点(0,0)定位于对象容器用户区的左上角,X轴向右为正方向,Y轴向下为正方向。对象坐标的度量单位由容器对象的ScaleMode属性决定,共有8种形式的单位,默认为Twip。用ScaleMode属性只能改变刻度单位,不能改变坐标原点及坐标轴的方向。,10.2坐标系统,建立自定义坐标系更简单的做法是调用容器对象的Scale方法,语法格式为:容器对象.Scale(x1,y1)-(x2,y2)说明:容器对象是指窗体或图片框,省略时默认为当前窗体。(x1,y1)为左上角的坐标,(x2,y2)为右下角的坐标。注意两对括号之间的“-”不代表相减。调用Scale方法后,ScaleLeft和ScaleTop属性分别被设为x1和y1的值。ScaleWidth属性被设为x2与x1之差,ScaleHeight属性被设为y2与y1之差。若省略(x1,y1)-(x2,y2),则恢复默认坐标系统,即以容器对象的左上角为坐标原点。,10.3相关属性和函数,10.3.1与绘图方法有关的属性10.3.2与颜色有关的函数,10.3.1与绘图方法有关的属性,1当前坐标CurrentX,CurrentY属性给出窗体或图片框或打印机在绘图时的当前坐标。这两个属性在设计阶段不能使用,使用CLS方法后,CurrentX、CurrentY属性值为0。2线宽和线型DrawWidth属性用来返回或设置图形方法输出的线宽。属性值的单位为像素,取值范围为132767,默认值为1。DrawStyle属性用来返回或设置图形方法输出的线型,如表10-6所示。该属性的设置值04的效果分别与Line控件的BordeStyle属性的15对应。若DrawWidth属性设置值大于1,在DrawStyle属性被设置为14时,只能画实线。,10.3.1与绘图方法有关的属性,2线宽和线型,表10-6DrawStyle设置表,10.3.1与绘图方法有关的属性,2线宽和线型,表10-7FillStyle设置表,10.3.1与绘图方法有关的属性,3填充颜色与填充样式FillColor属性用于为Line和Circle方法生成的矩形和圆填充颜色。FillStyle属性用于为Line和Circle方法生成的矩形和圆指定填充的图案,如表10-7所示。该属性的设置值与Shape控件的FillStyle属性相同。除Form对象外,若FillStyle属性被设置为默认值1(透明),则忽略FillColor属性的设置值。,10.3.2与颜色有关的函数,颜色的使用是绘图操作中的重要环节。在程序运行时,有四种方式可以指定颜色值:使用QBColor函数;使用RGB函数;使用内部常数;直接输入颜色值。1QBColor函数QBColor函数能够选择早期版本的Basic所规定的16种颜色之一。其语法格式为:QBColor(Color)说明:Color是一个界于015的整型数,用于指定颜色。表10-8列出了QBColor函数中Color取值所对应的颜色。,10.3.2与颜色有关的函数,表10-8QBColor函数中Color的取值与所对应的颜色,10.3.2与颜色有关的函数,2RGB函数RGB函数用来返回一个Long整数,用来表示一个RGB颜色值。其语法格式为:RGB(red,green,blue)说明:red是必需的,Variant(Integer)。数值范围从0255,表示颜色的红色成分。green是必需的,Variant(Integer)。数值范围从0255,表示颜色的绿色成分。blue是必需的,Variant(Integer)。数值范围从0255,表示颜色的蓝色成分。一个RGB颜色指定红、绿、蓝三原色的成分,生成一个用于显示的特定的颜色。传给RGB的任何参数的值,如果超过255,会被当做255。表10-9列出了常见的标准颜色RGB的值。,10.3.2与颜色有关的函数,2RGB函数,表10-9常见的标准颜色RGB的值,10.4图形方法,10.4.1Line方法10.4.2Pset方法10.4.3Circle方法10.4.4PaintPicture方法,10.4.1Line方法,Line方法用于画直线或矩形,其语法格式如下:对象.LineStep(x1,y1)-Step(x2,y2),Color,BF说明:(1)对象:可以是窗体或图片框,若省略则默认为当前窗体。(2)(x1,y1):线段的起点坐标或矩形的左上角坐标。(3)(x2,y2):线段的终点坐标或矩形的右下角坐标。(4)Step:表示采用当前作图位置的相对值。(5)Color:线段或矩形边线的颜色。若省略,则使用对象的ForeColor属性值。(6)B:表示画矩形。(7)F:表示用画矩形的颜色来填充矩形,F必须与关键字B一起使用。如果只用B不用F,则矩形的填充由对象当前的FillColor和FillStyle属性决定。画直线时,省略BF参数;画矩形时,参数B为空心矩形,BF为实心矩形。,10.4.1Line方法,【例10-3】使用Line方法画出如图10-7所示的三角形。首先将窗体的AutoRedraw属性设置为True。然后编写代码如下:PrivateSubForm_Load()Line(100,100)-Step(0,500)终点采用相对坐标Line-Step(500,0)以上次画线的终点为本次画线起点Line-(100,100)返回最初的起点EndSub,图10-7使用Line方法绘制的三角形,10.4.1Line方法,【例10-4】用Line方法在窗体上绘制如图10-8所示的同心矩形,每当单击窗体时,矩形的颜色随机变化。编写代码如下:PrivateSubForm_Click()DimCX,CY,F,F1,F2,i声明变量CX=ScaleWidth/2水平中点CY=ScaleHeight/2垂直中点DrawWidth=10设置线宽Fori=50To0Step-4从外向内画矩形F=i/50坐标偏移量系数。F1=1-F:F2=1+F计算矩形左上角和右下角坐标偏移量系数。ForeColor=QBColor(Int(Rnd*16)设置前景色为随机色Line(CX*F1,CY*F1)-(CX*F2,CY*F2),BF使用参数B画矩形,F参数填充颜色NextiEndSub,图10-8使用Line方法绘制同心矩形,10.4.2Pset方法,Pset方法用于在窗体、图片框或打印机指定位置上画点,利用Pset方法可以画任意曲线。其语法格式如下:对象.PsetStep(x,y),Color说明:(1)参数(x,y):必需的。x和y是单精度浮点数,即所画点的水平坐标(x轴)和垂直坐标(y轴)。(2)Step:可选,表示采用当前作图位置的相对值。(3)Color:可选,长整型数,为该点指定RGB颜色。可用RGB函数或QBColor函数指定颜色。如果省略Color,则使用当前的ForeColor属性值。如果使用背景颜色,则可清除某个位置上的点。,10.4.2Pset方法,【例10-5】绘制正弦曲线和余弦曲线。程序运行结果如图10-9所示。,图10-9绘制正弦曲线和余弦曲线,10.4.2Pset方法,本例使用PictureBox控件的Line方法绘制坐标轴,使用其Pset方法描绘曲线。在Form_Load过程中的语句Picture1.Scale(-360,2)-(360,-2),建立了新坐标系:左上角坐标是(-360,2),右下角坐标是(360,-2);坐标原点位于矩形的中心,X轴的正向水平向右,Y轴的正向垂直向上。窗体中除了图片框Picture1外,还需要四个命令按钮:绘制正弦曲线的按钮command1,绘制余弦曲线的按钮command2,清除图片框中的内容的按钮command3,绘制坐标轴的按钮command4。程序代码如下:,10.4.2Pset方法,DimStartAngleAsSingle存起始角DimEndAngleAsSingle存终止角DimiAsSingleDimRateAsSingle存角度弧度转换系数PrivateSubForm_Load()窗体加载Picture1.Scale(-360,2)-(360,-2)建立自定义坐标系StartAngle=-360起始角EndAngle=360终止角Picture1.CurrentX=-360绘图起点坐标Picture1.CurrentY=0Rate=3.1416/180角度弧度转换系数EndSubPrivateSubcommand1_Click()正弦曲线Fori=StartAngleToEndAnglePicture1.PSet(i,Sin(i*Rate)NextEndSubPrivateSubcommand2_Click()余弦曲线Fori=StartAngleToEndAnglePicture1.PSet(i,Cos(i*Rate)NextEndSubPrivateSubcommand3_Click()清除Picture1.ClsEndSubPrivateSubcommand4_Click()画坐标轴Picture1.Line(-360,0)-(360,0)X轴Picture1.Line(0,2)-(0,-2)Y轴EndSub,10.4.3Circle方法,Circle方法用于画圆、椭圆、圆弧和扇形,其语法格式如下:对象.CircleStep(x,y),r,color,起始角,终止角,纵横比说明:(1)对象:可以是窗体、图片框或打印机,省略时默认为当前窗体。(2)Step:表示采用当前作图位置的相对值。(3)(x,y):圆心坐标。(4)r:半径。(5)color:指定圆周边线的颜色。若省略,则使用ForeColor属性值。可以使用所属对象的FillColor和FillStyle属性填充封闭的图形。(6)起始角和终止角:圆弧和扇形通过参数起始角、终止角控制。当起始角、终止角取值在02时为圆弧。当在起始角、终止角的取值前加一负号时,画出扇形,负号表示从圆心到圆弧端点画径向线。(7)纵横比:控制画椭圆,默认值为1,画标准圆。注意:在VB坐标系中,采用逆时针方向绘圆。Circle方法中参数前出现的负号,并不能改变坐标系中旋转的方向。使用Circle方法时,如果想省掉中间的参数,逗号不能省略。例如:画椭圆省掉了颜色、起始角、终止角三个参数,则必须加上四个连续的逗号,它表明这三个参数被省掉了。,10.4.3Circle方法,【例10-6】用Circle方法画圆、椭圆、圆弧和扇形,运行结果如图10-10所示。程序代码:PrivateSubForm_Click()FillStyle=0FillColor=RGB(255,0,0)Circle(1000,1000),450Circle(2000,1000),450,2Circle(3000,1000),450,3.1415926/2,2*3.1415926Circle(4000,1000),450,-3.1415926/2,-2*3.1415926EndSub,图10-10用Circle方法画圆、椭圆、圆弧和扇形,10.4.4PaintPicture方法,PaintPicture方法用来把一个窗体或图

温馨提示

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

评论

0/150

提交评论