Top Banner
第第第 第第第第第第第第第第 第第第第第第第9.1 9.1 图图图图 9.2 9.2 图图 图图
29

第九章 图形处理及多媒体

Jan 07, 2016

Download

Documents

vevay

第九章 图形处理及多媒体. 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 的坐标系统 绘图属性 使用绘图控件 绘图方法(点,线和圆) 清除图形 使用图片框 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 第九章 图形处理及多媒体

第九章 图形处理及多媒体 第九章 图形处理及多媒体 第九章 图形处理及多媒体 第九章 图形处理及多媒体

9.1 9.1 图形处理

9.2 9.2 多媒体应用

Page 2: 第九章 图形处理及多媒体

掌握掌握

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

重点重点• 绘图方法: Pset,Line,Circle,Cls

Page 3: 第九章 图形处理及多媒体

9.1 图形处理

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

Page 4: 第九章 图形处理及多媒体

Visual Basic下的图象处理技术,包括绘图,色彩,动画,三维空间,虚拟现实,甚至计算机仿真的基础。听起来很诱人的东西往往需要大量不诱人的知识,本章是这些奇妙东西的入门。

VB可以利用绘图方法在窗体或某容器类对象上画图。也可以用绘图控件画图。

其多媒体控件可以让你感受动画、声音等。

9.1 图形处理9.1 图形处理

Page 5: 第九章 图形处理及多媒体

VB 的坐标系统VB 的坐标系统

(1) VB(1) VB坐标系坐标系

• 系统坐标系(屏幕坐标)

• “ ”容器坐标系统( 窗体坐标 )

窗体中调整、移动控件时,使用容器的坐标系统。

• 位置用 Left, Top属性描述。

• Left表示控件左上角到窗体左边的距离

• Top表示控件左上角到窗体上边的距离。

窗体中调整、移动控件时,使用容器的坐标系统。

• 位置用 Left, Top属性描述。

• Left表示控件左上角到窗体左边的距离

• Top表示控件左上角到窗体上边的距离。

Page 6: 第九章 图形处理及多媒体

VB 的坐标系统VB 的坐标系统

(2)(2)改变默认坐标系改变默认坐标系 ((利用窗体的 Scale系列属性 )

ScaleLeft属性:确定对象左边的水平坐标;

ScaleTop属性:确定对象顶端的垂直坐标;

ScaleWidth属性:确定对象内部水平的单元数目;

ScaleHeight属性:确定对象内部垂直的单元数目。

如: ScaleLeft = -50 : ScaleTop = 50

ScaleWidth = 100 : ScaleHeight = -100• 利用窗体的 Scale方法

如: Form1.Scale (-50, 50) - (50, -50)

其中 :前括号指左上角坐标,后括号指右下角坐标

Page 7: 第九章 图形处理及多媒体

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

(3) (3) 刻度系统刻度系统

VB 的坐标系统VB 的坐标系统

Page 8: 第九章 图形处理及多媒体

(1) (1) 当前坐标当前坐标• 对象:窗体、图形框等。

• 属性: CurrentX、 CurrentY,该属性设计阶段不可用

• 绝对坐标 : (x,y)

• 相对坐标: step ( x, y)

(2) (2) 线宽线宽• 窗体、图形框或打印机的 DrawWidth属性给出这些对象上所画线的宽度或点的大小。

• DrawWidth属性以像素为单位来度量,最小值为 1。

绘图属性绘图属性

Page 9: 第九章 图形处理及多媒体

(3) (3) 线型(线型( DrawStyleDrawStyle))

绘图属性绘图属性

(4) (4) 填充填充 封闭图形的填充方式由以下两个属性决定:

• FillColor指定填充图案的颜色,缺省值与 ForeColor相同•FillStyle属性指定填充的图案,共有 8种内部图案。

DrawStyle设置值 线型 0 实线 1 长划线 2 点线 3 点划线 4 点点划线 5 透明线 6  内实线

Page 10: 第九章 图形处理及多媒体

VB采用对象前景色( ForeColor)来绘图

• RGB函数格式: RGBRGB(红,绿,蓝)(红,绿,蓝)其中: 红、绿、蓝三基色的成分使用 0~255之间的整数,共有 256×256×256种颜色

• QBColor函数格式: QBColorQBColor(颜色码)(颜色码)其中: 颜色码使用 0~15之间的整数,共有 16色 例: Label1.forecolor=RGB(255,0,0) Label1.forecolor=vbred

(5) (5) 色彩色彩

绘图属性绘图属性

Page 11: 第九章 图形处理及多媒体

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

设置值 描述 0-Rectangl e 矩形

1-Square 正方形 2-Oval 椭圆

3-Ci rcl e 圆 4-Round Rectangl e 圆角矩形

5-Round Square 圆角正方形

绘图控件绘图控件

Page 12: 第九章 图形处理及多媒体

Shape控件的属性属性名 功能

Name 对象引用名

Shape 设置图形形状

BackCol or 设置图形背景色 Fi l l Col or 设置图形填充色 Fi l l Styl e 设置图形底纹的 8种样式

BorderCol or 设置图形边框色

Borderwi dth 设置边框宽度

BorderStyl e 设置边框的 7种样式

绘图控件绘图控件

Page 13: 第九章 图形处理及多媒体

例 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 IfEnd Sub

Shape控件举例Shape控件举例

Page 14: 第九章 图形处理及多媒体

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

属性名 功能 Name 对象引用名

BorderCol or 设置线的颜色 BorderStyl e 设置线的 7种样式(P206) Borderwi dth 设置线的宽度

X1 线段端点 1的 X坐标 Y1 线段端点 1的 Y坐标 X2 线段端点 2的 X坐标 Y2 线段端点 2的 Y坐标

绘图控件绘图控件

Page 15: 第九章 图形处理及多媒体

例 9-2:转动的指针程序Private Sub Form_Load() Line1.BorderColor = RGB(255, 0, 0) Line1.BorderWidth = 2 Timer1.Interval = 1000End 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 + 6End Sub

Line控件举例Line控件举例

Page 16: 第九章 图形处理及多媒体

绘图方法绘图方法

(1) Pset(1) Pset方法:方法:用于画点

格式: [object.]Pset[Step](x,y)[,[object.]Pset[Step](x,y)[, 颜色颜色 ]]

其中: objec “ ”是用于绘图板的 容器 对象名,如在本窗体画点,可

以省去, (x,y)为点的坐标; Step表示采用采用相对坐标;

注:采用背景颜色可清除某个位置上的点。

举例: PSet (1000, 1000), vbRed Picture1.PSet (1000, 2000), vbBlue PSet (1000, 1000)

PSet (1000, 1000), PSet (1000, 1000), BackColorBackColor

Page 17: 第九章 图形处理及多媒体

(2) Line(2) Line方法方法::用于画直线或矩形

语法 : [object.][object.]Line Line [[Step](x1,y1)] - [Step](x2,y2) [,Color][[Step](x1,y1)] - [Step](x2,y2) [,Color]说明: Color:指定画线颜色 Step:用来指出要画出的点与前一点的相对位置

• 示例:绘制一个任意三角形• 示例:绘制一个任意三角形说明:说明: Form1. CurrentX = 2000Form1. CurrentX = 2000

Form1. CurrentY = 2000Form1. CurrentY = 2000

语法 : [object.]Line [[Step](x1,y1)] - [Step](x2,y2) [object.]Line [[Step](x1,y1)] - [Step](x2,y2)

[,Color] [,Color] ,B[F],B[F] 说明: B:利用给定坐标画矩形 .(使用时其前两个逗号不可省 )。

F:规定矩形的填充颜色 ( 在使用 B参数的前提下使用 )。

绘图方法绘图方法

Page 18: 第九章 图形处理及多媒体

Private Sub Command1_Click() Line (1500, 500)-(2500,750) Line -(1750, 1500) Line -(1500, 500) End Sub

Line方法绘制三角形Line方法绘制三角形

Page 19: 第九章 图形处理及多媒体

(3) Circle(3) Circle方法:方法:用于画圆、椭圆、圆弧和扇形

• [[对象对象 .] Circle [Step](x,y),.] Circle [Step](x,y),半径半径 [,Color] [,Color] [start],[end],[,aspect][start],[end],[,aspect]

参数: start:指定弧的起点位置 默认值为 0. end: 指定弧的终点位置 ,默认值为 2π. Aspect: 大于 1时,椭圆沿垂直方向拉长;当小于 1时,椭圆沿水平方向拉长。默认值为 1,将产生一个标准圆 .

• 扇形:扇形: startstart和和 endend 均取负值 均取负值

绘图方法绘图方法

Page 20: 第九章 图形处理及多媒体

Circle方法举例Circle方法举例

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

Page 21: 第九章 图形处理及多媒体

清除图形:清除图形: [object.]cls[object.]cls

在图形中加入文本:在图形中加入文本: 例:例: currentX=1908currentX=1908

currentY=1908currentY=1908

Print Print ”” “输出位置“输出位置比较记忆:点、线和圆的语法比较记忆:点、线和圆的语法 点: 点: [[对象对象 .]Pset[Step](x,y)[,.]Pset[Step](x,y)[,颜色颜色 ]] 线: 线: [[对象对象 .]Line [[Step](x1,y1)] - [Step](x2,y2) [,Color].]Line [[Step](x1,y1)] - [Step](x2,y2) [,Color] 圆: 圆: [[对象对象 .] Circle [Step](x,y),.] Circle [Step](x,y),半径半径 [,Color][,Color]

小结:设定坐标,利用绘图控件(方法)画画。小结:设定坐标,利用绘图控件(方法)画画。

绘图方法绘图方法

Page 22: 第九章 图形处理及多媒体

图片框图片框

1、使用 picture属性显示图片

2、使用 loadpicture加载图片 (运行时 )

loadpicture([fname],[size],[coloredpth],[x,y])

3、使用 paintpicture方法

[object.]paintpicture picture,dx,dy[,dw[,dh[,sx[,

Page 23: 第九章 图形处理及多媒体

鼠标事件鼠标事件

VB系统除了能捕获 Click和 Dbl Click以外,还可以

捕获鼠标按钮的按下、释放和移动。即引发鼠标的

MouseDown,MouseUp,MouseMove等事件。

Page 24: 第九章 图形处理及多媒体

⑵⑵鼠标事件使用的参数鼠标事件使用的参数

MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

指示哪个鼠标键触发了鼠标事件

判断在按键的同时 ,是否按下了 Shift、 Alt或 Ctrl键

鼠标指针的位置

⑴ ⑴ 鼠标事件及触发条件鼠标事件及触发条件

• MouseDownMouseDown事件事件:按下任意鼠标按键时触发

• MouseUpMouseUp事件事件:释放任意鼠标按键时触发

• MouseMoveMouseMove事件事件 :鼠标移动过程中时触发

鼠标事件鼠标事件

Page 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

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

示例:检测用户按下了鼠标的哪个键?

鼠标事件鼠标事件

Page 26: 第九章 图形处理及多媒体

1. 1. 使用动画控件(使用动画控件( Animation)Animation) (1) (1) 功能功能

“用于播放无声的 .avi”的数字电影文件。 (2) (2) 添加部件添加部件 ——部件 Microsoft Windows Common Controls-2 6.0

(3) (3) 常用属性常用属性• Center:设为 True,可确保播放的画面位于动画控件的中间位置。

• Autoplay:用于设定已打开的动画文件的自动播放。

多媒体应用多媒体应用

VB中与多媒体有关的控件有两个,都是 ActiveX控件。一个是动画控件,另一个是媒体控制控件。

Page 27: 第九章 图形处理及多媒体

(4) (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-----关闭文件

Page 28: 第九章 图形处理及多媒体

2. 2. 多媒体控件多媒体控件(1)(1)多媒体控件多媒体控件 (Multimedia MCI)(Multimedia MCI)

用于管理,控制各种MCI (Media Contol Interface )设备的控件。它提供了一组控制按钮,可以通过这些按钮控制和管理声卡 、 CD-ROM、 VCD播放器等设备。

(2)(2)添加部件添加部件 第一步 :工程 /部件 第二步 :部件 第三步 : “ ”在 控件 列表框中选定 Microsoft Multimedia Control 6.0

多媒体应用多媒体应用

Page 29: 第九章 图形处理及多媒体

(3) (3) 主要属性主要属性 ::• Enabled:使该控件有效• Visible:使该控件可见• DeviceType:设置多媒体控件所要管理的设备类型• AutoEnable:为 True时,自动激活 DeviceType所指定的设备。• FileName:指定MCI所要使用的文件名称• Command:在运行时使用,指定需要执行的MCI命令

(4) MCI(4) MCI命令命令 它是通过一套高层的与设备无关的命令来控制多媒体设备的。主要命令如表 9-7所示 (p223)。 格式:Mmcontrol1.Command=Mmcontrol1.Command=““commandnamecommandname””

例如: Mmcontrol1.Command=“Open”

多媒体应用多媒体应用