1 / 29

第九章 图形处理及多媒体

第九章 图形处理及多媒体. 9.1 图形处理 9.2 多媒体应用. 掌握. 窗体的 ScaleMode 属性 色彩常量,色彩函数 绘图控件: shape 和 line 绘图方法: Pset,Line,Circle,Cls 图片框,图像控件 鼠标事件: MouseDown,MouseUp,MouseMove 鼠标事件过程参数: Button,Shift,X,Y. 重点. 绘图方法: Pset,Line,Circle,Cls. 9.1 图形处理. VB 的坐标系统 绘图属性 使用绘图控件 绘图方法(点,线和圆) 清除图形 使用图片框

vevay
Download Presentation

第九章 图形处理及多媒体

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第九章 图形处理及多媒体 9.1 图形处理 9.2 多媒体应用

  2. 掌握 • 窗体的ScaleMode属性 • 色彩常量,色彩函数 • 绘图控件:shape和line • 绘图方法:Pset,Line,Circle,Cls • 图片框,图像控件 • 鼠标事件:MouseDown,MouseUp,MouseMove • 鼠标事件过程参数:Button,Shift,X,Y 重点 • 绘图方法:Pset,Line,Circle,Cls

  3. 9.1 图形处理 • VB 的坐标系统 • 绘图属性 • 使用绘图控件 • 绘图方法(点,线和圆) • 清除图形 • 使用图片框 • Visual Basic的鼠标事件

  4. 9.1 图形处理 Visual Basic下的图象处理技术,包括绘图,色彩,动画,三维空间,虚拟现实,甚至计算机仿真的基础。听起来很诱人的东西往往需要大量不诱人的知识,本章是这些奇妙东西的入门。 VB可以利用绘图方法在窗体或某容器类对象上画图。也可以用绘图控件画图。   其多媒体控件可以让你感受动画、声音等。

  5. VB 的坐标系统 • (1) VB坐标系 • 系统坐标系(屏幕坐标) • 容器坐标系统(“窗体坐标”) • 窗体中调整、移动控件时,使用容器的坐标系统。 • 位置用Left,Top属性描述。 • Left表示控件左上角到窗体左边的距离 • Top表示控件左上角到窗体上边的距离。

  6. VB的坐标系统 (2)改变默认坐标系(利用窗体的Scale系列属性) ScaleLeft属性:确定对象左边的水平坐标; ScaleTop属性:确定对象顶端的垂直坐标; ScaleWidth属性:确定对象内部水平的单元数目; ScaleHeight属性:确定对象内部垂直的单元数目。 如:ScaleLeft = -50 : ScaleTop = 50 ScaleWidth = 100 : ScaleHeight = -100 • 利用窗体的Scale方法 • 如:Form1.Scale (-50, 50) - (50, -50) • 其中:前括号指左上角坐标,后括号指右下角坐标

  7. VB 的坐标系统 (3) 刻度系统 刻度系统由控件的ScaleMode属性设置的。ScaleMode的值有: ScaleMode值 意义 0 用户自定义 1 点素(Twip 即“特维”,缺省刻度) 2 点(Point) 3 象素(Pixel,这与屏幕分辨率有关) 4 字符(Character) 5 英寸(Inch) 6 毫米(Millimeter) 7 厘米(Centimeter)

  8. 绘图属性 (1) 当前坐标 •对象:窗体、图形框等。 •属性:CurrentX、CurrentY,该属性设计阶段不可用 •绝对坐标:(x,y) •相对坐标:step ( x, y) (2) 线宽 •窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点的大小。 • DrawWidth属性以像素为单位来度量,最小值为1。

  9. 绘图属性 (3) 线型(DrawStyle) • DrawStyle设置值线型 • 0 实线 • 1 长划线 • 2 点线 • 3 点划线 • 4 点点划线 • 5 透明线 • 6 内实线 • (4) 填充 • 封闭图形的填充方式由以下两个属性决定: • FillColor指定填充图案的颜色,缺省值与ForeColor相同 • FillStyle属性指定填充的图案,共有8种内部图案。

  10. 绘图属性 (5) 色彩 VB采用对象前景色(ForeColor)来绘图 • RGB函数 格式:RGB(红,绿,蓝) 其中:红、绿、蓝三基色的成分使用0~255之间的整数,共有 256×256×256种颜色 • QBColor函数 格式:QBColor(颜色码) 其中:颜色码使用0~15之间的整数,共有16色 例:Label1.forecolor=RGB(255,0,0) Label1.forecolor=vbred

  11. 绘图控件 (1)Shape控件: Shape控件可以用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形,通过Shape属性可确定所需要的几何形状。(默认为矩形)

  12. 绘图控件 Shape控件的属性

  13. Shape控件举例 例9-1:图形变换程序 Private Sub Form_Load( ) ‘ 初始化,确定图形的颜色及初始形状 Dim r As Integer, g As Integer, b As Integer Randomize r = Int(Rnd * 256) ‘红色 g = Int(Rnd * 256) ’绿色 b = Int(Rnd * 256) ‘兰色 Shape1.FillStyle = 0 ’填充样式设置为实心 Shape1.FillColor = RGB(r, g, b) ’填充色 r = Int(Rnd * 256) g = Int(Rnd * 256) b = Int(Rnd * 256) Shape1.BorderColor = RGB(r, g, b) ‘边框颜色 Shape1.Shape = 0 ‘设置图形的样式 End Sub Private Sub form_click() Static i As Integer i = i + 1 If i <= 5 Then Shape1.Shape = i Else i = 0 Shape1.Shape = i End If End Sub

  14. 绘图控件 (2) Line控件:绘制直线 属性见下表:

  15. Line控件举例 例9-2:转动的指针程序 Private Sub Form_Load() Line1.BorderColor = RGB(255, 0, 0) Line1.BorderWidth = 2 Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() Static a As Integer Dim x As Single, y As Single Const pi = 3.14159265 a = a Mod 360 x = 1000 * Sin(a * pi / 180) y = (-1) * 1000 * Cos(a * pi / 180) Line1.X2 = x + 2160 Line1.Y2 = y + 1440 Line1.Refresh a = a + 6 End Sub

  16. 绘图方法 (1) Pset方法:用于画点 格式:[object.]Pset[Step](x,y)[,颜色] 其中:objec 是用于绘图板的“容器”对象名,如在本窗体画点,可以省去,(x,y)为点的坐标;Step表示采用采用相对坐标; 注:采用背景颜色可清除某个位置上的点。 举例:PSet (1000, 1000), vbRed Picture1.PSet (1000, 2000), vbBlue PSet (1000, 1000) PSet (1000, 1000), BackColor

  17. 绘图方法 (2) Line方法:用于画直线或矩形 语法:[object.]Line [[Step](x1,y1)] - [Step](x2,y2) [,Color] 说明:Color:指定画线颜色 Step:用来指出要画出的点与前一点的相对位置 语法:[object.]Line [[Step](x1,y1)] - [Step](x2,y2) [,Color] ,B[F] 说明:B:利用给定坐标画矩形.(使用时其前两个逗号不可省)。 F:规定矩形的填充颜色(在使用B参数的前提下使用)。 • 示例:绘制一个任意三角形 说明:Form1. CurrentX = 2000 Form1. CurrentY = 2000

  18. Line方法绘制三角形 • Private Sub Command1_Click() • Line (1500, 500)-(2500,750) • Line -(1750, 1500) • Line -(1500, 500) • End Sub

  19. 绘图方法 (3) Circle方法:用于画圆、椭圆、圆弧和扇形 • [对象.] Circle [Step](x,y),半径[,Color] [start],[end],[,aspect] 参数:start:指定弧的起点位置 默认值为0. end: 指定弧的终点位置,默认值为2π. Aspect:大于1时,椭圆沿垂直方向拉长;当小于1时,椭圆沿水平方向拉长。默认值为1,将产生一个标准圆. • 扇形:start和end均取负值

  20. Circle方法举例 Private Sub Command1_Click() form1.Circle (1200, 1000), 750, vbRed Circle Step(0,0), 850, RGB(200, 0,255) End Sub

  21. 绘图方法 清除图形: [object.]cls 在图形中加入文本: 例:currentX=1908 currentY=1908 Print ”输出位置“ 比较记忆:点、线和圆的语法 点: [对象.]Pset[Step](x,y)[,颜色] 线: [对象.]Line [[Step](x1,y1)] - [Step](x2,y2) [,Color] 圆: [对象.] Circle [Step](x,y),半径[,Color] 小结:设定坐标,利用绘图控件(方法)画画。

  22. 图片框 1、使用picture属性显示图片 2、使用loadpicture加载图片(运行时) loadpicture([fname],[size],[coloredpth],[x,y]) 3、使用paintpicture方法 [object.]paintpicture picture,dx,dy[,dw[,dh[,sx[,

  23. 鼠标事件 VB系统除了能捕获Click和Dbl Click以外,还可以捕获鼠标按钮的按下、释放和移动。即引发鼠标的MouseDown,MouseUp,MouseMove等事件。

  24. 鼠标事件 • ⑴ 鼠标事件及触发条件 • MouseDown事件:按下任意鼠标按键时触发 • MouseUp事件:释放任意鼠标按键时触发 • MouseMove事件:鼠标移动过程中时触发 判断在按键的同时,是否按下了Shift、Alt或Ctrl键 ⑵鼠标事件使用的参数 MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 鼠标指针的位置 指示哪个鼠标键触发了鼠标事件

  25. 鼠标事件 示例:检测用户按下了鼠标的哪个键? Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbRightButton Then Print “你按下鼠标右键" If Button = vbLeftButton Then Print “你按下鼠标左键” End Sub

  26. 多媒体应用 VB中与多媒体有关的控件有两个,都是ActiveX控件。一个是动画控件,另一个是媒体控制控件。 • 1. 使用动画控件(Animation) • (1) 功能 • 用于播放无声的“.avi”的数字电影文件。 • (2) 添加部件 • 部件——Microsoft Windows Common Controls-2 6.0 • (3) 常用属性 • Center:设为True,可确保播放的画面位于动画控件的中间位置。 • Autoplay:用于设定已打开的动画文件的自动播放。

  27. 多媒体应用 (4) 常用方法 • Open---打开播放文件 格式:Object.Open fname • Play----用于进行播放 格式:Object.Play [repeat][,start][,end] 其中:repeat:重复播放的次数 start:起始播放的桢;end:停止播放的桢 例如:animat1.play 5,9,24 表示:使用名为animat1的动画控件要把已打开的“.avi”文 件的第10幅画到第25幅画面重复播放5遍。 • Stop-----停止播放 • 一般形式:Object.stop • Close-----关闭文件

  28. 多媒体应用 2. 多媒体控件 (1)多媒体控件(Multimedia MCI) 用于管理,控制各种MCI (Media Contol Interface )设备的控件。它提供了一组控制按钮,可以通过这些按钮控制和管理声卡、CD-ROM、VCD播放器等设备。 (2)添加部件 第一步:工程/部件 第二步:部件 第三步:在“控件”列表框中选定 Microsoft Multimedia Control 6.0

  29. 多媒体应用 (3) 主要属性: • Enabled:使该控件有效 • Visible:使该控件可见 • DeviceType:设置多媒体控件所要管理的设备类型 • AutoEnable:为True时,自动激活DeviceType所指定的设备。 • FileName:指定MCI所要使用的文件名称 • Command:在运行时使用,指定需要执行的MCI命令 (4) MCI命令 它是通过一套高层的与设备无关的命令来控制多媒体设备的。 主要命令如表9-7所示(p223)。 格式:Mmcontrol1.Command=“commandname” 例如:Mmcontrol1.Command=“Open”

More Related