
vb多媒体程序设计2.ppt
20页单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,中 南 大 学 信 息 院,,,Visual Basic,多媒体程序设计,2,,一,.,绘图,,,1.,形状控件,,,1)shape,,,可以显示矩形、正方形、椭圆、圆等形状形状类型由,shape,属性确定2)line,,,可以显示直线2.,绘图方法,,,一般为容器控件所具有,如窗体和,PictureBox,1)line,,,对象名,.Line [Step] (x1, y1)-[Step] (x2, y2), [color], [B][F],,,Step:,表示相对坐标,相对当前坐标属性,CurrentX,和,CurrentY,例:,,Form1.CurrentX=10,,Form1.CurrentY=10,,Form1.line Step (10,20)-(100,200) ,vbred,,既从,(10+10,10+20),到,(100,200),画红线2)Circle,,,画圆、椭圆、圆弧语法形式:,,对象名,.Circle [step](x, y), radius, [color, start, end, aspect],,step:,说明为相对坐标。
x, y,):圆、椭圆或弧的中心坐标color,:画线颜色start,、,end,:分别表示弧线的起始角度、终止角度,取值为,0~2,,时,画圆弧;取值为负值时,画扇形,既画圆心到圆弧的径向线Aspect,:表示长、短轴的比率,默认值为,1,,画圆;大于或小于,1,时,画椭圆例:,Circle (1200,1200),150',画一个半径为,150,,,的圆Circle (1000,1000),150, , , , 0.5 ',画纵轴与横轴,,,之比为,0.5,的椭圆3)Pset,,,画点语法形式如下:,,对象名,.PSet [Step] (x, y), [color],,,step:,说明为相对坐标x, y,):点的坐标color,:画线颜色4)Point,,,返回某点的颜色值语法形式如下:,,对象名,.Point (x, y),,若指定点在对象外面,则返回值为,-1,,该方法对,Image,控件无效5)Print,方法,,利用,PictureBox,控件的,Print,方法,可以在控件中打印字符串语法: 加中括号的参数项为可选项(可有可无)对象名,. Print [Spc(n) | Tab(n)] [,表达式,] [,结束符,],,Spc(n),:表示插入,n,个空格;,,Tab(n),:表示插入点定位在绝对列号,n,上;,,表达式: 是要输出的表达式;,,结束符:表示下一个字符输出位置的标点符号,可以是:,,,、,;,、无。
3.,绘图举例,,1),矩形绘图,,2),画曲线,,3),画圆,,4),改变标题颜色,二,.,图形的位置变换,,,1.API,函数,,API(Application Program Interface),是库函数的调用接口库函数是已经编写好了的函数代码段的集合这些库函数一般存放在类型为,Dll,和,Lib,的文件中,是提高代码重用的手段之一大量的库函数文件放在,system32,文件夹下,,VB,在使用这些文件中的函数时必须声明这些函数声明语法形式如下:,,[Private] Declare <,函数名,> Lib,,",库文件名串,",[Alias]<,别名,> (<,参数说明表,>) [As,数据类型,],[Private]:,当在窗体窗口中声明,API,函数时必须有该项函数名:库中函数的名库文件名串:说明库函数存放的文件名,如果是核心库,这些文件存放在,system32,文件夹,否则应在库文件串中说明路径别名:给库函数一个别名[As,数据类型,]:,说明库函数返回值的类型如只把库函数作为,Sub,过程,可省约该项参数说明表,),:分别说明各形式参数及类型,形式如下:,,(byval,参数名,1 as,数据类型,,byval,参数名,2 as,数据类型,,····,byval,参数名,n as,数据类型,),,,2. API,函数,StretchBlt,,,该函数可进行图像的缩放、旋转。
1) StretchBlt,的语法,,StretchBlt hDestDc, x, y, nWidth, nHeight, hSrcDc, _ xSrc, ySrc, nSrcWidth, nSrcHeight, dwRop,,,hDestDc,:目标图片框的句柄,即目标图片框的,hDC,属性值hSrcDc,:来源图片框的句柄,即源图片框的,hDC,属性值x,y,:复制到目标图片框图像的左上角坐标(目标起点)nWidth, nHeight,:复制到目标图片框中的宽度、高度xSrc, ySrc,:来源图片框的左上角坐标(被复制的起点)nSrcWidth, nSrcHeight,:源图片框要复制部分的宽度、高度dwRop,:表示绘制方式,本例取,SRCCOPY,方式,(,直接复制,).,,,,2) API,函数,StretchBlt,的声明:,,,Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, _,,ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, _,,ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, _,,ByVal dwRop As Long) As Long,3),StretchBlt,程序举例,,三,.VB,音频处理,,1.,扬声器发声,API,函数,Beep,,,,2.,用,MCI32,控件播放音频,,,1),把控件从控件文件,(*.ocx),添加到工具箱,,,工具箱只有常用的十几个控件,大量的控件定义存放控件文件中,要使用这些控件前必须把这些控件添加到工具箱中。
添加控件文件中的控件到工具箱的操作如下:,,,“右击工具箱空白处,|,部件”,在‘部件’对话框中选择控件说明或,<,浏览,>,按钮打开控件文件,按,<,确定,>,按钮,在工具箱中可看见加入的控件图标2)Mci,控件加入工具箱,,MCI,控件存放在,MCI32.ocx,文件,该文件处于,system32,系统文件夹下添加过程如下:,,——,在“工程”菜单中,单击“部件”以显示“部件”对话框——,定控件名称左边的复选框,(Multimedia MCI,控件名称是,Microsoft Multimedia Control 6.0),——,单击“确定”以关闭“部件”对话框Multimedia MCI,控件的图标显示在工具箱中,,,鼠标指向时的提示名称是,MMControl),3) Multimedia,控件的按钮:,,当你把,mci,控件加入窗体时可见多个按钮按钮被分别定义为:,Prev,、,Next,、,Play,、,Pause,、,Back,、,Step,、,Stop,、,Record,和,Eject,你可以为某一个按钮编写程序,从而为其增加特殊功能;但通常用缺省的按钮功能就能很好地播放音乐和视频。
4) DeviceType,属性,,指出播放何种媒体格式是:,,,MMControl1.DeviceType=Devname,,MMControl1.DeviceType=,"",,Devname,值有:,,,AVIVideo(,视频文件*,.avi),、,WaveAudio (,音频文件*,.Wav),、,Sequencer (midi,音频文件*,.mid),等5)command,属性,,它在运行过程中向多媒体设备发出命令,命令格式是:,,,MMControl.Command = cmdstring$,,其中,cmdstringS,变量与每一个按钮的定义名称一致,取值是:,,",Open,",、,",Play,",、,"Pause",,、,",Close,",等字符串值6),,MMControl1.$,,,7),其它属性,,Visible,、,Mode,、,Wait,、,Shareable,、,Notify,、,UpdateInterval,等属性7),属性设置,,MMControl.Command = ",Open," ’,打开设备,,MMControl.Command = ",Play," ’,媒体播放,,MMControl.Command = ",Pause," ’,播放暂停,,MMControl.Command = ",Close," ’,关闭设备,,MMControl1.DeviceType= "AVIVideo" ’,指定视频设备,,,MMControl. Visible= True/False ’,指定多媒体控件对象在执行阶段是否可见,(,即是否显示出来,). True,可见,,False,不可见。
MMControl. Mode ’,指明媒体设备目前状态的整数,,,运行时为只读,,,,,MMControl. Wait = True/False ’,,MMControl. Shareable = True/False ’,指明该设备能否为不同的程序共享True,共享,,False,不共享MMControl. Notify = True/False ’,描述下一个,MCI,控制命令是否采用确认服务若为,True,,则下一个,MCI,控制命令完成时会激发一个确认完成事件,即,done,事件MMControl. UpdateInterval = n ’,该属性决定两次,StatusUpdate,事件发生所间隔的时间毫秒数,n.,,,,,,8),,MCI,控件名,_ Done(),事件,:,在,Notify,设为,True,时,,MCI,控制指令执行完毕时,,,激发该事件,,,执行相应的代码Mci,控件名,_ StatusUpdate (),事件,:,该事件与,Updateinterval,属性值有关,,,每隔一个,Updateinterval,时间就产生一次该事件9),用公共控件获得文件的全称,,,把,Microsoft Common Dialog control 6.0,添加到工具箱。
设置,filter,属性举例如下,,CommonDialog1.Filter = ",音频,(*.wav,*.mid,*.mp3)|*.wav;*.mid;*.mp3 ",,,CommonDialog1.Action = 1,‘显示打开文件对话框10),MCI,控件程序举例,。
