《vb多媒体程序设计课件》由会员分享,可在线阅读,更多相关《vb多媒体程序设计课件(20页珍藏版)》请在金锄头文库上搜索。
1、Visual BasicVisual Basic多媒体程序设计多媒体程序设计2 2一一. .绘图绘图 1.1.形状控件形状控件 1)shape1)shape 可以显示矩形、正方形、椭圆、圆等形状。形可以显示矩形、正方形、椭圆、圆等形状。形状类型由状类型由shapeshape属性确定。属性确定。 2)line 2)line 可以显示直线。可以显示直线。 2. 2.绘图方法绘图方法 一般为容器控件所具有,如窗体和一般为容器控件所具有,如窗体和PictureBoxPictureBox。 1)line1)line 对象名对象名对象名对象名.Line Step (x1, y1)-Step (x2, y2
2、), color, BF.Line Step (x1, y1)-Step (x2, y2), color, BF.Line Step (x1, y1)-Step (x2, y2), color, BF.Line Step (x1, y1)-Step (x2, y2), color, BFStep:Step:表示相对坐标,相对当前坐标属性表示相对坐标,相对当前坐标属性CurrentXCurrentX和和CurrentYCurrentY。例:例:Form1.CurrentX=10Form1.CurrentX=10Form1.CurrentY=10Form1.CurrentY=10Form1.lin
3、e Step (10,20)-(100,200) ,vbredForm1.line Step (10,20)-(100,200) ,vbred既从既从(10+10,10+20)(10+10,10+20)到到(100,200)(100,200)画红线。画红线。 2)Circle2)Circle 画圆、椭圆、圆弧。语法形式:画圆、椭圆、圆弧。语法形式:对对对对象象象象名名名名.Circle .Circle .Circle .Circle step(x, step(x, step(x, step(x, y), y), y), y), radius, radius, radius, radius, c
4、olor, color, color, color, start, start, start, start, end, end, end, end, aspectaspectaspectaspect step: step:说明为相对坐标。说明为相对坐标。(x, yx, y):圆、椭圆或弧的中心坐标。):圆、椭圆或弧的中心坐标。 color color:画线颜色。:画线颜色。 startstart、endend:分分别别表表示示弧弧线线的的起起始始角角度度、终终止止角角度度,取取值值为为0202 时时,画画圆圆弧弧;取取值值为为负负值值时时,画画扇形,既画圆心到圆弧的径向线。扇形,既画圆心到圆弧
5、的径向线。AspectAspect:表表示示长长、短短轴轴的的比比率率,默默认认值值为为1 1,画画圆圆;大于或小于大于或小于1 1时,画椭圆。时,画椭圆。例:例:Circle (1200,1200),150 Circle (1200,1200),150 画一个半径为画一个半径为150150 的圆。的圆。Circle (1000,1000),150, , , , 0.5 Circle (1000,1000),150, , , , 0.5 画纵轴与横轴画纵轴与横轴 之比为之比为 0.50.5的椭圆。的椭圆。3)Pset3)Pset 画点。语法形式如下:画点。语法形式如下:对象名对象名.PSet
6、Step (x, y), color.PSet Step (x, y), colorstep:step:说明为相对坐标。说明为相对坐标。(x, yx, y):点的坐标。):点的坐标。 color color:画线颜色。:画线颜色。4)Point4)Point 返回某点的颜色值。语法形式如下:返回某点的颜色值。语法形式如下: 对象名对象名.Point (x, y).Point (x, y) 若指定点在对象外面,则返回值为若指定点在对象外面,则返回值为-1-1,该方法对,该方法对ImageImage控件无效。控件无效。 5)Print5)Print方法方法 利用利用PictureBoxPictur
7、eBox控件的控件的PrintPrint方法,可以在控方法,可以在控件中打印字符串。件中打印字符串。 语法:语法: 加中括号的参数项为可选项(可有可无)。加中括号的参数项为可选项(可有可无)。 对象名对象名. Print Spc(n) | Tab(n) . Print Spc(n) | Tab(n) 表达式表达式 结结束符束符 Spc(n)Spc(n):表示插入:表示插入n n个空格;个空格;Tab(n)Tab(n):表示插入点定位在绝对列号:表示插入点定位在绝对列号n n上;上;表达式:表达式: 是要输出的表达式;是要输出的表达式;结束符:表示下一个字符输出位置的标点符号,结束符:表示下一个
8、字符输出位置的标点符号,可以是:可以是:, , 、; ; 、无。、无。3.3.绘图举例绘图举例1)1)矩形绘图矩形绘图2)2)画曲线画曲线3)3)画圆画圆4)4)改变标题颜色改变标题颜色二二. .图形的位置变换图形的位置变换 1.API1.API函数函数 API(Application Program Interface) API(Application Program Interface)是库函数是库函数的调用接口。库函数是已经编写好了的函数代码段的调用接口。库函数是已经编写好了的函数代码段的集合。这些库函数一般存放在类型为的集合。这些库函数一般存放在类型为DllDll和和LibLib的的文
9、件中,是提高代码重用的手段之一。文件中,是提高代码重用的手段之一。 大量的库函数文件放在大量的库函数文件放在system32system32文件夹下,文件夹下,VBVB在使用这些文件中的函数时必须声明这些函数。声在使用这些文件中的函数时必须声明这些函数。声明语法形式如下:明语法形式如下:Private Declare Private Declare Lib Lib 库文件名串库文件名串 Alias Alias ( () ) As As 数据类型数据类型 Private:Private:当在窗体窗口中声明当在窗体窗口中声明APIAPI函数时必须有该函数时必须有该项。项。函数名:库中函数的名。函数
10、名:库中函数的名。库文件名串:说明库函数存放的文件名,如果是核库文件名串:说明库函数存放的文件名,如果是核心库,这些文件存放在心库,这些文件存放在system32system32文件夹,否则应文件夹,否则应在库文件串中说明路径。在库文件串中说明路径。别名:给库函数一个别名。别名:给库函数一个别名。As As 数据类型数据类型: :说明库函数返回值的类型。如只把说明库函数返回值的类型。如只把库函数作为库函数作为SubSub过程,可省约该项。过程,可省约该项。( (参数说明表参数说明表) ):分别说明各形式参数及类型,形式:分别说明各形式参数及类型,形式如下:如下:(byval (byval 参数
11、名参数名1 as 1 as 数据类型数据类型,byval ,byval 参数名参数名2 as 2 as 数数据类型据类型,byval ,byval 参数名参数名n as n as 数据类型数据类型) )2. API2. API函数函数StretchBltStretchBlt 该函数可进行图像的缩放、旋转。该函数可进行图像的缩放、旋转。 1) StretchBlt 1) StretchBlt的语法的语法StretchBlt hDestDc, x, y, nWidth, nHeight, StretchBlt hDestDc, x, y, nWidth, nHeight, hSrcDc, _ xS
12、rc, ySrc, nSrcWidth, hSrcDc, _ xSrc, ySrc, nSrcWidth, nSrcHeight, dwRopnSrcHeight, dwRophDestDchDestDc:目标图片框的句柄,即目标图片框的:目标图片框的句柄,即目标图片框的hDChDC属性值。属性值。hSrcDchSrcDc:来源图片框的句柄,即源图片框的:来源图片框的句柄,即源图片框的hDChDC属性值。属性值。x,yx,y:复制到目标图片框图像的左上角坐标(目标:复制到目标图片框图像的左上角坐标(目标起点)。起点)。nWidth, nHeightnWidth, nHeight:复制到目标图片
13、框中的宽度、:复制到目标图片框中的宽度、高度。高度。xSrc, ySrcxSrc, ySrc:来源图片框的左上角坐标(被复制的:来源图片框的左上角坐标(被复制的起点)。起点)。nSrcWidth, nSrcHeightnSrcWidth, nSrcHeight:源图片框要复制部分的:源图片框要复制部分的宽度、高度。宽度、高度。dwRopdwRop:表示绘制方式,本例取:表示绘制方式,本例取SRCCOPYSRCCOPY方式方式( (直接复制直接复制). ). 2) API2) API函数函数StretchBltStretchBlt的声明:的声明:Private Declare Function
14、StretchBlt Lib gdi32 Private Declare Function StretchBlt Lib gdi32 Private Declare Function StretchBlt Lib gdi32 Private Declare Function StretchBlt Lib gdi32 (ByVal hdc As Long, ByVal x As Long, _(ByVal hdc As Long, ByVal x As Long, _(ByVal hdc As Long, ByVal x As Long, _(ByVal hdc As Long, ByVal x
15、 As Long, _ByVal y As Long, ByVal nWidth As Long, ByVal ByVal y As Long, ByVal nWidth As Long, ByVal ByVal y As Long, ByVal nWidth As Long, ByVal ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, _nHeight As Long, ByVal hSrcDC As Long, _nHeight As Long, ByVal hSrcDC
16、 As Long, _nHeight As Long, ByVal hSrcDC As Long, _ByVal xSrc As Long, ByVal ySrc As Long, ByVal ByVal xSrc As Long, ByVal ySrc As Long, ByVal ByVal xSrc As Long, ByVal ySrc As Long, ByVal ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, _nSrcWidth As Long,
17、ByVal nSrcHeight As Long, _nSrcWidth As Long, ByVal nSrcHeight As Long, _nSrcWidth As Long, ByVal nSrcHeight As Long, _ByVal dwRop As Long) As LongByVal dwRop As Long) As LongByVal dwRop As Long) As LongByVal dwRop As Long) As Long 3) 3) StretchBltStretchBlt程序举例程序举例 三三.VB.VB音频处理音频处理 1. 1.扬声器发声扬声器发声A
18、PIAPI函数函数BeepBeep 2. 2.用用MCI32MCI32控件播放音频控件播放音频 1)1)把控件从控件文件把控件从控件文件(*.ocx)(*.ocx)添加到工具箱添加到工具箱 工具箱只有常用的十几个控件,大量的控件定工具箱只有常用的十几个控件,大量的控件定义存放控件文件中,要使用这些控件前必须把这些义存放控件文件中,要使用这些控件前必须把这些控件添加到工具箱中。控件添加到工具箱中。 添加控件文件中的控件到工具箱的操作如下:添加控件文件中的控件到工具箱的操作如下: “右击工具箱空白处右击工具箱空白处| |部件部件”,在,在部件部件对话对话框中选择控件说明或框中选择控件说明或 按钮打
19、开控件文件,按按钮打开控件文件,按 按钮,在工具箱中可看见加入的控件图标。按钮,在工具箱中可看见加入的控件图标。 2)Mci2)Mci控件加入工具箱控件加入工具箱 MCI MCI控件存放在控件存放在MCI32.ocxMCI32.ocx文件,该文件处于文件,该文件处于system32system32系统文件夹下。添加过程如下:系统文件夹下。添加过程如下:在在“工程工程”菜单中,单击菜单中,单击“部件部件”以显示以显示“部件部件”对话框。对话框。定控件名称左边的复选框定控件名称左边的复选框(Multimedia MCI(Multimedia MCI控件名称是控件名称是Microsoft Multi
20、media Control 6.0)Microsoft Multimedia Control 6.0)。单击单击“确定确定”以关闭以关闭“部件部件”对话框。对话框。 Multimedia MCI Multimedia MCI控件的图标显示在工具箱中控件的图标显示在工具箱中, ,鼠标指向时的提示名称是鼠标指向时的提示名称是MMControl)MMControl)。3) Multimedia 3) Multimedia 控件的按钮:控件的按钮: 当你把当你把mcimci控件加入窗体时可见多个按钮。按钮控件加入窗体时可见多个按钮。按钮被分别定义为:被分别定义为:PrevPrev、 NextNext、
21、 PlayPlay、 PausePause、 BackBack、 StepStep、 StopStop、 Record Record 和和 EjectEject。你可以。你可以为某一个按钮编写程序,从而为其增加特殊功能;为某一个按钮编写程序,从而为其增加特殊功能;但通常用缺省的按钮功能就能很好地播放音乐和视但通常用缺省的按钮功能就能很好地播放音乐和视频。频。4) DeviceType 4) DeviceType 属性属性 指出播放何种媒体。格式是:指出播放何种媒体。格式是: MMControl1.DeviceType=DevnameMMControl1.DeviceType=Devname M
22、MControl1.DeviceType= MMControl1.DeviceType= DevnameDevname值有:值有: AVIVideo(AVIVideo(视频文件视频文件* *.avi).avi)、 WaveAudio (WaveAudio (音频音频文件文件* *.Wav) .Wav) 、Sequencer (midiSequencer (midi音频文件音频文件* *.mid) .mid) 等。等。 5)command 5)command属性属性 它在运行过程中向多媒体设备发出命令,命令格它在运行过程中向多媒体设备发出命令,命令格式是:式是: MMControl.Comman
23、d = cmdstring$MMControl.Command = cmdstring$其中其中cmdstringScmdstringS变量与每一个按钮的定义名称一变量与每一个按钮的定义名称一致,取值是:致,取值是: OpenOpen 、 PlayPlay 、PausePause 、 CloseClose 等字符串等字符串值。值。 6) 6) MMControl1.$MMControl1.$7)7)其它属性其它属性Visible Visible 、 ModeMode、WaitWait、ShareableShareable、NotifyNotify、UpdateIntervalUpdateInt
24、erval等属性。等属性。 7)7)属性设置属性设置MMControl.Command = MMControl.Command = OpenOpen 打开设备打开设备MMControl.Command = MMControl.Command = PlayPlay 媒体播放媒体播放MMControl.Command = MMControl.Command = PausePause 播放暂停播放暂停MMControl.Command = MMControl.Command = CloseClose 关闭设备关闭设备MMControl1.DeviceType= AVIVideo MMControl1
25、.DeviceType= AVIVideo 指定视指定视频设备频设备 MMControl. Visible= True/False MMControl. Visible= True/False 指定多媒体指定多媒体控件对象在执行阶段是否可见控件对象在执行阶段是否可见( (即是否显示出来即是否显示出来). ). TrueTrue可见,可见,FalseFalse不可见。不可见。MMControl. Mode MMControl. Mode 指明媒体设备目前状态的整数指明媒体设备目前状态的整数, ,运行时为只读运行时为只读 MMControl. Wait = True/False MMControl
26、. Wait = True/False MMControl. Shareable = True/False MMControl. Shareable = True/False 指明该指明该设备能否为不同的程序共享。设备能否为不同的程序共享。 TrueTrue共享,共享,FalseFalse不不共享。共享。 MMControl. Notify = True/False MMControl. Notify = True/False 描述下一描述下一个个MCIMCI控制命令是否采用确认服务。若为控制命令是否采用确认服务。若为True,True,则则下一个下一个MCIMCI控制命令完成时会激发一个确认
27、完成事控制命令完成时会激发一个确认完成事件,即件,即donedone事件。事件。MMControl. UpdateInterval = n MMControl. UpdateInterval = n 该属性决定该属性决定两次两次StatusUpdateStatusUpdate事件发生所间隔的时间毫秒数事件发生所间隔的时间毫秒数n. n. 8)8) MCIMCI控件名控件名_ Done()_ Done()事件事件: :在在NotifyNotify设为设为TrueTrue时时,MCI,MCI控制指令执行完毕时控制指令执行完毕时, ,激发该事件激发该事件, ,执行相应的执行相应的代码。代码。MciM
28、ci控件名控件名_ StatusUpdate ()_ StatusUpdate ()事件事件: :该事件与该事件与UpdateintervalUpdateinterval属性值有关属性值有关, ,每隔一个每隔一个UpdateintervalUpdateinterval时间就产生一次该事件。时间就产生一次该事件。9)9)用公共控件获得文件的全称用公共控件获得文件的全称 把把Microsoft Common Dialog control 6.0Microsoft Common Dialog control 6.0添加添加到工具箱。设置到工具箱。设置filterfilter属性举例如下属性举例如下CommonDialog1.Filter = CommonDialog1.Filter = 音频音频(*.wav,*.mid,*.mp3)|*.wav;*.mid;*.mp3 (*.wav,*.mid,*.mp3)|*.wav;*.mid;*.mp3 CommonDialog1.Action = 1CommonDialog1.Action = 1显示打开文件对显示打开文件对话框。话框。 10)10)MCIMCI控件程序举例控件程序举例