您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 第七章设计图形和多媒体程序
第10章设计图形和多媒体程序10.1图形控件VB提供了线条(Line)、形状(Shape)、图像框(Image)和图片框(PictureBox)等四个图形控件。如图7-1所示。线条控件:用来绘制直线形状控件:绘制正方形、圆形、矩形或椭圆形。图像框控件:显示各种图形格式文件的图形。图片框控件:不仅可用来显示现存图形,还可以利用其提供的方法绘制复杂图形。一、线条(Line)控件线条控件的主要属性有:BorderStyle(线条风格)、BorderWidth(线宽)、BorderColor(颜色)等属性。可按下面步骤操作使用线条控件:(1)单击工具栏中线条控件图标。(2)在窗体上画出所需线条。(3)打开属性窗口,设置线条属性,如线条风格、线条颜色等。(4)对线条调整:直线的移动;改变直线的端点位置和长度。线条控件的主要属性(1)BorderStyle属性BorderStyle属性决定线条的类型。此属性有7个取值:0~6,分别对应着不同的线条类型:0透明线1实心线2长划线3点线4点划线5点点相间的长划线6内部实线(2)BorderWidth属性BorderWidth属性决定着线条的宽度,即线条的粗细,如图7-2所示。(3)其它属性BorderColor:此属性决定线条的颜色,通过属性框中颜色调色板设置。X1:直线水平方向的起始坐标Y1:直线垂直方向的起始坐标X2:直线水平方向的终点坐标Y2:直线垂直方向的终点坐标二、形状控件使用形状控件的步骤如下:(1)单击工具箱中的形状控件按钮。(2)在窗体中画出形状。(3)设置属性,定制形状的外观。(4)调整设置好的形状。可单击形状使其成为可编辑状态,通过鼠标拖动改变其大小和位置,再用属性窗口设置属性,使其符合设计要求。形状控件的主要属性:(1)Shape(形状)属性此属性决定其显示形状,该属性有6个可选值,如表9-2所示。(2)FillStyle(填充模式)设置FillStyle可以构成不同的填充效果。FillStyle可以在0~7之间取值,各数值对应的效果如表7-3。三、图像框控件1。Stretch属性(1)True——图形能够自动缩放以适应图像框大小;以图像框的大小为准。(2)False——(默认值)图像框自动随实际图像大小缩放。以图像实际大小显示。当在程序中动态加入图形时,为防止因图形大小不一而影响界面,可以置Stretch为True。2。Picture属性为显示一幅图像,要对Picture赋值。可以用LoadPicture方法,也可用其他图像框或图片框的图像数据来赋值。Imagel.Picture=LoadPicture(c:\widnows\sun.bmp)Imagel.Picture=Image2.PictureImagel.Picture=Picture1.Picture把图片框1的图像赋给图像框1。3。用图像框设计动画程序首先准备制作动画的素材,选用两幅蝴蝶的图片bfly1.bmp和bfly2.bmp(在VB\Samples\Pguide\VCR下)。(1)在窗体上,放三个图像框(Image)、一个定时器控件(Timer)和一个命令按钮控件。(2)为Image1和Image2的Picture属性填入文件名。设置Command1的Caption属性为“开始动画”,设置定时Timer1的Interval(定时间隔)属性为200,Enabled属性为False。设计好的界面如图9-10所示。编写代码----用定时器控制图片的交替显示PrivateSubTimer1_Timer()Staticflag'定义静态变量Ifflag=0ThenImage3.Picture=Imagel.Pictureflag=1ElseImage3.Picture=Image2.Pictureflag=0EndIfEndSub用Command1控制动画开始设置Timer1的Enabled属性为Ture即可。PrivateSubCommand1_Click()Timer1.Enabled=TrueTimer2.Enabled=TrueEndSubVB10L蝴蝶飞Move方法的语法格式为:[对象.]MoveLeft[,Top,Width,Height]Left:图象框左边的新位置Top:图象框顶端的新位置Width:图象框的新宽度Height:图象框的新高度。Left参数是必须提供的。让蝴蝶水平移动,用下面语句:Image3.MoveImage3.Left+100Image3.MoveImage3.Left+100,Image3.top-50020004000Image1位置二位置一101000(0,0)TopLeft蝴蝶重新飞回的代码IfImage3.Left=Form1.ScaleWidththenImage3.Left=Form1.LeftEndIfImage3.MoveImage3.Left+100控制蝴蝶水平移动用定时器Timer2控制蝴蝶移动速度:设置其Enabled属性为False,Interval属性为250(移动间隔)。在Timer2_Timer过程中添加下面代码:PrivateSubTimer2_Timer()IfImage3.Left=Me.ScaleWidthThenImage3.Left=Me.Left-100endifImage3.MoveImage3.Left+100EndSub最后在Command1_Click()中添加代码Timer2.Enabled=True以启动定时器2。(vb7dh)四、图片框控件1。使用VisualBasic颜色VisualBasic提供了两个选择颜色函数QBColor()和RGB(),其中QBColor()能够选择16种颜色。表7-4列出了QBColor()能够选择的颜色:表10-4QBColor()可选择的颜色RGB()函数能够选择更多的颜色,此函数有三个参数:RGB(R,G,B)R、G、B分别指明颜色中红色、绿色、蓝色的比例,它们的取值范围为0~255。10.2图形方法1.Scale方法Scale方法定义绘图的坐标系。语法格式:[对象.]Scale(LeftX,TopY)-(RightX,BottomY)对象:可为Form和PictureBox控件。LerftX,TopY:所定义坐标系中左上角的坐标。RightX,BottomY:坐标系中右下角的坐标。Scale(-200,200)-(200,-200)如何定义一个如图的坐标系。(200,-200)(-200,200)(0,0)2.Line方法Line方法用来画线,格式为:[对象.]Line[[Step](X1,Y1)]-[Step](X2,Y2)[,[Color][,B[F]]](1)(X1,Y1)和(X2,Y2):线段的起止坐标;(X1,Y1)省略表示从当前位置开始画到(X2,Y2)点。(2)Step:是相对意义,为相对于当前点的坐标。(3)Color:用于设置画线颜色。(4)B:表示以(X1,Y1)和(X2,Y2)对角坐标画一方框。加入F则表示对矩形框填充。例如:Form1.Line(200,550)-(600,600)Line-(800,700),Vbred,BLine(200,300)-(400,100)与Line(200,300)-Step(200,-200)是等效的。例3(10-3)用Line方法在窗体上画出如图所示的随机射线.(vb10L10-3)PrivateSubForm_Click()DimiAsInteger,xAsSingle,yAsSingleScale(-320,240)-(320,-240)Fori=1To100x=320*RndIfRnd0.5Thenx=-xy=240*RndIfRnd0.5Theny=-ycolorcode=15*RndLine(0,0)-(x,y),QBColor(colorcode)NextiEndSub3.Circle方法Circle方法用来画圆、椭圆、弧等。格式:[对象.]Circle[step](x,y),radius[,[color][,[start][,end][,aspet]]]例4:Circle(2000,2000),1500,Qbcilor(4),,0.5(VB10L4)(1)(x,y)为圆心坐标。(2)radius为半径长度。(3)color为图形颜色(4)start、end确定圆或椭圆弧的起止角度,取值范围为-2π~2π(5)aspet:为圆的纵横比。画圆时为1(缺省值),4.PSet方法在指定位置用指定颜色画点。其语法格式如下:[对象.]Pset[Step](X,Y)[,Color](1)对象:是可以是窗体和图片框。(2)(X,Y)为画点的位置坐标。(3)Color可选,用于设置点的颜色。如:Picture1.DrawWidth=10'设置点的粗度Picture1.Pset(270,250),RGB(255,0,0)‘画一个亮红点Vbred或Qbcolor(12)例5(10-6)用Pset方法绘制阿基米德螺线.PrivateSubForm_Click()DimxAsSingle,yAsSingle,iAsSingleScale(-15,15)-(15,-15)Line(0,14)-(0,-14)Line(14.5,0)-(-14.5,0)Form1.DrawWidth=5加一延时程序,起动画效果螺线方程Fori=0To12Step0.01y=i*Sin(i)x=i*Cos(i)PSet(x,y),vbRedForj=1To150000NextjNextiEndSub上机作业1。P100四、实验题目(装入图片参考本实验的二、实验范例)2。上册P335作蝴蝶飞(可查找bfly1.bmp和bfly2.bmp作蝴蝶)3。上册P339例10-2(要求射线0.5秒变化一次。4。选作:上册P344例10-7
本文标题:第七章设计图形和多媒体程序
链接地址:https://www.777doc.com/doc-1483172 .html