坐标系统概述使用VB作图使用图片定时器控件第六章图像与多媒体VisualBasic6.0程序设计6.2使用VisualBasic作图一、绘图属性1.用AutoRedraw创建持久的图形每个窗体和图片框都具有AutoRedraw属性。(1)当AutoRedraw为默认值False时,VB会把图形输出到屏幕,而不输出到内存。(2)当AutoRedraw为True时,VB会把图形输出并保存在内存中。注意:运行时,只有当AutoRedraw为True时,才可以用Cls方法清除。举例:VisualBasic6.0程序设计6.2使用VisualBasic作图2、使用CurrentX、CurrentY设置当前坐标(1)窗体或图形框或打印机的CurrentX、CurrentY属性给出这些对象在绘图时的当前坐标。(2)这两个属性在设计阶段不能使用。当坐标系确定后,坐标值(x,y)表示对象上的绝对坐标位置。(3)如果坐标值前加上关键字Step,则坐标值(x,y)表示对象上的相对坐标位置,即从当前坐标分别平移x、y个单位,其绝对坐标值为(CurrentX+x,CurrentY+y)(4)使用CLS方法后,CurrentX、CurrentY属性值为0。VisualBasic6.0程序设计3、用DrawWidth和DrawStyle属性设置线宽与线型窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点的大小。DrawWidth属性以像素为单位来度量,最小值为1。例6.2用DrawWidth属性改变直线宽度。6.2使用VisualBasic作图VisualBasic6.0程序设计窗体或图形框或打印机的DrawStyle属性给出这些对象上所画线的形状。6.2使用VisualBasic作图设置值线型图示0实线(缺省)1虚线2点线3点划线4点点划线5透明线6内实线注意:只有当DrawWidth设置为1时,DrawStyle属性才会产生如上图所示的各种效果。VisualBasic6.0程序设计4、填充与色彩由Fillstyle、Fillcolor这两个属性决定封闭图形的填充方式。(1)Fillcolor指定填充图案的颜色,默认的颜色与Forecolor相同。(2)FillStyle属性取值0~7,用来指定填充的图案,共有8种内部图案。6.2使用VisualBasic作图注意:如果FillStyle设置为1(透明),则忽略FillColor属性,但Form对象除外。VisualBasic6.0程序设计6.2.2画点案例18:在窗体上画一幅群星闪烁的画面。(1)案例效果(演示)(2)案例分析VisualBasic6.0程序设计1、画点(Pset方法)例:1.Pset(500,1000),RGB(255,0,0)2.Pset(500,1000),BackColor‘擦除该点格式:[对象.]Pset(x,y)[,Color]参数说明:(X,Y):确定画点的位置单精度,可以是常量或变量和表达式Color:设置点的颜色缺省时,点的颜色为ForeColor6.2.2画点VisualBasic6.0程序设计6.2.2画点(3)案例实现(演示)PrivateSubTIMER1_TIMER()DimiAsIntegerDimx,yAsSingleForI=1To100X=Int(Rnd*6000)Y=Int(Rnd*6000)PSet(X,Y),vbYellowNextIEndSubVisualBasic6.0程序设计直线格式:[对象.]Line[[Step](x1,y1)]-[Step](x2,y2)[,Color]参数说明:(X1,Y1):画线的起点,省略:当前坐标为起始坐标。(X2,Y2):直线的终点Color:设置直线的颜色缺省时,为ForeColorStep:表示后面的坐标相对于当前坐标的偏移量6.2.3画直线和矩形VisualBasic6.0程序设计举例:PrivateSubCommand1_Click()Line(1000,1000)-(2000,2000)Line-(300,3000)Picture1.Line(100,500)-Step(2000,2000)Picture1.Line(1500,1500)-Step(200,200),vbBlueEndSub如何改变直线的粗细和线型?6.2.3画直线和矩形DrawWidth属性:指定线的宽度(以磅为单位)。DrawStyle属性:指定线型。VisualBasic6.0程序设计矩形格式:[对象.]Line[[Step](x1,y1)]-[Step](x2,y2)[,Color],B[F]参数说明:(X1,Y1):矩形的左上角点,省略:当前坐标的为起始坐标,(X2,Y2):矩形的右下角点B:表示画一个矩形;F:表示画一个实心的矩形,这时忽略Fillcolor和FillStyle属性注意:有B参数才能使用F例1:PrivateSubCommand1_Click()Line(500,500)-Step(1000,0)Line-Step(0,1000)Line-Step(-1000,0)Line-Step(0,-1000)'Line(500,500)-Step(1000,1000),,BFEndSub6.2.3画直线和矩形VisualBasic6.0程序设计6.2.4画圆、椭圆、圆弧和扇形案例19:在窗体上绘制一幅颜色、大小各不相同的彩环。(1)案例效果(演示)VisualBasic6.0程序设计格式:[对象.]Circle[Step](x,y),半径[,[,Color][,[起始角][,[终止角][,纵横比]]]]6.2.4画圆、椭圆、圆弧和扇形(1)1时,指向水平方向X的半径纵横比:(2)=1时,默认值为圆(3)1时,指向垂直方向的Y半径参数说明:起始角和终止角:取值在0~时为圆弧。如果起始角的绝对值大于终止角的绝对值,则画一个角度大于180的圆弧;如果为负数,则画出扇形。0360(2)案例分析VisualBasic6.0程序设计6.2.4画圆、椭圆、圆弧和扇形VisualBasic6.0程序设计6.2.4画圆、椭圆、圆弧和扇形PrivateSubCommand1_Click()X=Form1.WidthY=Form1.HeightForI=1To10R=Rnd*Y*0.1Circle(X*Rnd,Y*Rnd),R,QBColor(I)NextIEndSub(3)案例实现(演示)VisualBasic6.0程序设计6.2.5使用Line控件和Shape控件作图案例20:在窗体中展示形状控件。(1)案例效果(演示)VisualBasic6.0程序设计6.2.5使用Line控件和Shape控件作图1.Line控件常用属性:X1、Y1、X2、Y2:控制线的两个端点。BorderWidth:设置线宽。BorderStyle:设置线形。2.Shape控件常用属性:FillStyle:设置填充图案。FillColor:设置填充颜色。Shape:提供6种预定义形状。(演示)(2)案例分析VisualBasic6.0程序设计1、设计阶段方法:①属性窗口的Picture属性装入。②利用剪贴板步骤:在绘图软件中复制图片选中图片框粘贴2、运行阶段方法:使用LoadPicture函数格式:[对象.]Picture=LoadPicture(“文件名”)其中文件名包含路径。复制:Picture2.Picture=Picture1.Picture删除图片格式:[对象.]Picture=LoadPicture()[对象.]Picture=LoadPicture(“”)6.3使用图片VisualBasic6.0程序设计图片框(PictureBox)和图像框(Imag)1、作用:在指定位置显示图形信息。2、区别:•图片框中可以包含其他控件,图像框不能。•图片框可以通过Print方法接收文本,图像框不能。•图像框占用内存少,显示速度快。6.3使用图片3、属性:Picture属性:通过属性窗口设置,用来把图形放入这些对象中。适用于:窗体、图片框、图像框。支持的图形文件格式:BitmapIconMetafileJPEGGIFVisualBasic6.0程序设计(2)图像框的Stretch属性:自动调整图像框中图形内容的大小。格式:对象.Stretch=[Boolean]取值False时,可以自动改变大小。6.3使用图片(1)图片框的AutoSize属性当AutoSize属性为True时,可使图片框自动扩展到可容纳新图片的大小。VisualBasic6.0程序设计6.4定时器控件案例21:制作一个模拟秒表,可用来计时。(1)案例效果VisualBasic6.0程序设计属性:Enable属性:是否可用Interval属性:定时器事件之间的时间间隔(毫秒数)取值范围:0--64767,最长间隔为64.8秒事件:Timer事件经过了interval所设置的时间间隔后,将会触发timer事件.计时器控件(Timer):按一定的时间间隔执行操作可制作动画效果6.4定时器控件(2)案例分析VisualBasic6.0程序设计分析:(1)在窗体上装入一个图片(picture控件)(2)图片在窗体上的位置不断改变即Left,Top例:以窗体为背景,显示汽车行驶的动画PrivateSubTimer1_Timer()Picture1.Left=Picture1.Left+10EndSub6.4定时器控件VisualBasic6.0程序设计例:显示滚动字幕PrivateSubTimer1_Timer()Label1.Left=Label1.Left+100IfLabel1.Left=Form1.WidthThenLabel1.Left=-Label1.WidthEndIfEndSub6.4定时器控件VisualBasic6.0程序设计练习:P199在窗体上以当前窗体为中心,画若干条位置和颜色均随机设置的射线。VisualBasic6.0程序设计复习:1.常用作图方法画点、线、圆2.图形控件(1)图片框、图像框的属性、事件和方法。(2)图形文件的装入。(3)直线和形状。3.定时器控件的使用