您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第8章-VB图形操作全解
VisualBasic程序设计教程主讲教师:高等教育“十一五”规划教材2目录VB程序设计概述1VB可视化编程基础2VB语言基础3VB程序控制结构4数组53目录过程6应用程序界面设计7VB图形操作8VB文件操作9VB数据库编程104第8章VB图形操作要点提示♪图形控件♪坐标系统♪绘图属性♪绘图方法5第8章VB图形操作8.1图形控件在VB中与图形有关的标准控件有4种,即图形框(PictureBox)、图像框(Image)、直线(Line)和形状(Shape),为应用程序创建图形效果提供了方便的工具。图形框和图像框的主要功能是显示图形,它们都可以显示.bmp、.ico、.wmf、.gif、.jpg等类型的文件。6第8章VB图形操作8.1图形控件8.1.1图形框图形框(PiceureBox)显示的图形是由Picture属性决定的,Picture属性可设置被显示图形的可选路径名和文件名。图形框控件也可以作为其他控件的容器,像框架(Frame)控件一样,可以在图形框控件上放置其他控件。7第8章VB图形操作8.1图形控件8.1.1图形框(1)图形框属性①Picture属性。用于设置需要显示的图形文件。在设计状态直接设置Picture属性。在程序运行时,使用LoadPicture函数装入图形文件。格式:图形框.Picture=LoadPicture(“图形文件名”)如果要在程序运行时删除图形,也要使用LoadPicture函数。格式图形框.Picture=LoadPicture()8第8章VB图形操作8.1图形控件8.1.1图形框(1)图形框属性②AutoSize属性。说明控件是否自动调整大小,以完整显示图形。③CurrentX和CurrentY属性。用来返回或设置下一个输出的水平(CurrentX)或垂直(CurrentY)坐标。格式:[对象.]CurrentX[=x][对象.]CurrentY[=y]9第8章VB图形操作8.1图形控件8.1.1图形框【例8.1】设计一个随机显示图片和文字的程序。PrivateSubForm_Load()'初始化Command1.Caption=随机文字Command2.Caption=随机图像Command3.Caption=退出Form1.ScaleMode=1Picture1.ScaleMode=1Picture2.Picture=LoadPicture(C:\pic3.jpg)'装载图片EndSub10第8章VB图形操作8.1图形控件8.1.2图像框图形框和图像框的主要区别。图形框除了可以显示图形外,还可以作为其他控件的容器,类似于框架控件,其中的控件可以随着图形框的移动而移动。但是图像框不能作为容器。同时图形框控件支持VB图形方法,用户可以通过剪贴板给图形框控件添加图形。图像框没有Autosize属性,但是有Stretch属性。同时,图像框占用内存比图形框少,显示速度快。图像框只支持图形框控件的一部分属性、事件和方法。例如,图像框控件不支持Print方法。11第8章VB图形操作8.1图形控件8.1.2图像框【例8.2】设计一个动态放大、缩小图片的程序。DimaAsBooleanPrivateSubForm_Load()Image1.Picture=LoadPicture(C:\pic1.bmp)'装载图片文件EndSubPrivateSubCommand1_Click()'放大按钮Timer1.Enabled=Truea=TrueEndSub12第8章VB图形操作8.1图形控件8.1.3直线利用直线控件,可以画出水平线、垂直线、对角线,通过属性的设置可以改变线的粗细、颜色和样式。直线(Line)控件常用属性除了具有Name、Visible等标准属性外,还具有以下属性。①X1、Y1、X2、Y2属性。表示直线控件的起始点(X1,Y1)和终止点(X2,Y2)的坐标。②BorderColor属性。设置直线的颜色。③BorderStyle属性。设置直线的样式。13第8章VB图形操作8.1图形控件8.1.3直线【例8.3】Line控件示例。DimiAsInteger,jAsInteger,kAsIntegerPrivateSubCommand1_Click()'改变线形i=i+1Ifi6Theni=0'直线BorderStyle属性值为0~6Line1.BorderStyle=i'为直线的BorderStyle属性赋值SelectCaseI'显示当前直线控件的线形Case0:Label1.Caption=透明线Case1:Label1.Caption=实线14第8章VB图形操作8.1图形控件8.1.4形状控件形状(Shape)控件也是在窗体或容器控件中显示图形的,但它可以显示矩形、正方形、圆形等图形。形状控件的常用属性如下。①BackColor属性。设置图形的背景色。②BackStyle属性。设置图形的背景样式是否透明。③BorderStyle属性。设置图形边框的样式。④FillColor属性。设置图形内部的填充颜色。⑤FillStyle属性。设置图形的填充的方式。⑥Height、Width、Left、Top属性。返回或设置图形的大小及位置。⑦Shape属性。用于设置图形的样式。15第8章VB图形操作8.1图形控件8.1.4形状控件【例8.4】Shape控件示例。PrivateSubForm_Activate()DimiAsIntegerShape1(0).Shape=0Shape1(i).FillStyle=2Fori=1To5LoadShape1(i)'装入数组控件Shape1(i).Left=Shape1(i-1).Left+1000'确定控件Left属性Shape1(i).Visible=True'显示该控件Shape1(i).Shape=i'确定所需要的几何形状16第8章VB图形操作8.2图形操作基础8.2.1VB坐标系统在VB中,默认的坐标原点为对象的左上角,横向向右为X轴的正向,纵向向下为Y轴的正向。如图所示,就是窗体和文本框的默认坐标系。窗体的Height属性值包括了标题栏和水平边框线的宽度,Width属性值包括了垂直边框线宽度。HeightScaleHeight17第8章VB图形操作8.2图形操作基础8.2.1VB坐标系统(1)ScaleMode属性为了在不影响原始坐标的情况下改变坐标单位,可以使用ScaleMode属性。(2)ScaleLeft和ScaleTop属性这两个属性用来自定义对象内绘图区域左上角坐标,缺省值为(0,0)。(3)ScaleWidth和ScaleHeight属性这两个属性用来自定义对象内绘图区域宽度(ScaleWidth属性)和高度(ScaleHeight属性)。18第8章VB图形操作8.2图形操作基础8.2.2自定义坐标系【例8.5】在Form窗体上加载Form_Load事件,并在其中定义窗体的坐标系。PrivateSubForm_load()ClsForm1.ScaleLeft=-100Form1.ScaleTop=100Form1.ScaleHeight=-200Form1.ScaleWidth=200Line(-100,0)-(200,0)'画X轴Line(0,100)-(0,-200)'画Y轴CurrentX=0:CurrentY=0:Print0'标记坐标原点CurrentX=90:CurrentY=20:PrintX'标记X轴19第8章VB图形操作8.2图形操作基础8.2.2自定义坐标系【例8.6】在Form_Paint事件中通过Scale方法定义窗体Form1的坐标系。PrivateSubForm_Paint()ClsForm1.Scale(-200,250)-(300,-150)Line(-200,0)-(300,0)'画X轴Line(0,250)-(0,-150)'画Y轴CurrentX=0:CurrentY=0:Print0'标记坐标原点CurrentX=280:CurrentY=20:PrintX'标记X轴CurrentX=10:CurrentY=240:PrintY'标记Y轴EndSub20第8章VB图形操作8.3绘图属性8.3.1当前坐标对于窗体、图形或者打印机,CurrentX和CurrentY属性给出了这些对象在绘图时的当前坐标。当坐标系确定之后,坐标值(x,y)表示对象上的绝对坐标位置。如果坐标值前面加上关键字Step,则坐标值(x,y)表示对象上的相对坐标位置,即从当前坐标分别平移x,y个单位,其绝对坐标值为(CurrentX+x,CurrentY+y)。21第8章VB图形操作8.3绘图属性8.3.1当前坐标【例8.7】用Print方法在窗体上随机显示50个“★”和50个“☆”。PrivateSubForm_Click()DimiAsIntegerRandomizeFori=1To100CurrentX=Form1.Width*RndCurrentY=Form1.Height*RndIf(iMod2)=0ThenPrint★ElsePrint☆22第8章VB图形操作8.3绘图属性8.3.2线宽与线型窗体、图片框或打印机的DrawWidth属性说明在这些对象上所画线的宽度或点的大小。DrawWidth属性以像素为单位,最小值为1。23第8章VB图形操作8.3绘图属性8.3.2线宽与线型【例8.8】通过改变DrawStyle属性值在窗体上画出不同的线形。PrivateSubCommand1_Click()ClsDimjAsIntegerPrintDrawStyle0123456Print线型实线长划线点线点划线点点划线透明线内实_线PrintPrint图示CurrentX=600'设置直线的开始位置24第8章VB图形操作8.3绘图属性8.3.3填充与色彩封闭图形的填充方式由FillStyle、FillColor这两个属性决定。FillColor属性指定填充图案的颜色,默认的颜色与ForeColor相同。FillStyle属性指定填充的图案。1.填充25第8章VB图形操作8.3绘图属性8.3.3填充与色彩(1)使用RGB函数RGB函数通过红、绿、蓝三基色混合产生某种颜色,语法为:RGB(红,绿,蓝)(2)QBColor函数QBColor(颜色码)(3)使用“对象浏览器”中列出的常数2.色彩26第8章VB图形操作8.3绘图属性8.3.3填充与色彩27第8章VB图形操作8.3绘图属性8.3.3填充与色彩28第8章VB图形操作8.3绘图属性8.3.3填充与色彩29第8章VB图形操作8.3绘图属性8.3.2填充与色彩【例8.9】演示颜色的渐变过程。PrivateSubForm_Click()DimjAsInteger,xAsSingle,yAsSingley=Form1.ScaleHeightx=Form1.ScaleWidth'设置直线X方向终点坐标sp=255/y'每次改变基色的增量Forj=0ToyLine(0,j)-(x,j),RGB(j*sp,j*sp,j*sp)'画线NextjEndSub30第8章VB图形操作8.4绘图方法8.4.1Cls方法Cls方法用于清除所有使用图形方法和Print方法显示的文本或图形,并将光标移动到原点位置。语法格式:[对象.]Cls31第8章VB图形操作8.4绘图方法8.4.2PSet方法PSet方法可以在对象的指定位置按确定的像素颜色画点。语法格式:[对象.]PSet[Step](x,y)[,Color]32第8章VB图形操作8.4绘图方法8.4.2PSet方法【例8.10】Pset方法示例。PrivateSubForm_click()DimxAsSingle,yAsSingleClsScale(-15,15)-(15,-15)Line(0,14)-(0,-14)'画X轴Line(14.5,0)-(-14.5,0)'画Y轴CurrentX=0:CurrentY=0:Print0'
本文标题:第8章-VB图形操作全解
链接地址:https://www.777doc.com/doc-3209928 .html