第9章图形处理及多媒体应用.ppt
《第9章图形处理及多媒体应用.ppt》由会员分享,可在线阅读,更多相关《第9章图形处理及多媒体应用.ppt(65页珍藏版)》请在三一办公上搜索。
1、2023/9/5,Visual Basic Programming,图形处理及多媒体应用 第9章,图形处理多媒体应用Points to Remember,2023/9/5,Visual Basic Programming,图形处理,利用VB除了可以处理数值型及文本型数据之外,还可以处理各种图形,比如可在窗体或其他容器类控件上绘制直线、圆、椭圆、矩形以及函数曲线等图形。为此,VB不仅提供了相应的控件,还提供了若干用于绘图的方法。坐标系统 色彩函数 使用绘图控件 使用绘图方法 使用图片框 应用鼠标事件,9.1,2023/9/5,Visual Basic Programming,坐标系统,在绘制图形
2、时,图形的大小与位置至关重要。不仅如此,窗体以及窗体中的各种控件对象在显示时,也有一个大小与显示位置的问题。这些均由坐标系统决定。VB规定了两种坐标系统:系统坐标系和容器坐标系 系统坐标系 容器坐标系,9.1.1,2023/9/5,Visual Basic Programming,系统坐标系,系统坐标系也称为“桌面(屏幕)坐标系”。它的原点位于屏幕左上角的象素处,即屏幕最左上角的象素的坐标值为(0,0),从原点出发,水平向左方向为X轴正方向;垂直向下为Y轴正方向。坐标系的单位为Twip(特维,1Twip=1/1440英寸)窗体在桌面上的显示位置及大小,就是由系统坐标系决定的(右图),2023/
3、9/5,Visual Basic Programming,容器坐标系,窗体以及图片框、框架等控件都可包容各种其他的控件对象,因此被称为“容器类对象”。当改变或移动容器类对象内部的控件的大小或位置时,则使用容器坐标系。容器坐标系的原点位于容器对象工作区最左上角的象素处,即该点的坐标值为(0,0),从原点出发,水平向左方向为容器坐标系X轴的正方向;垂直向下为容器坐标系Y轴的正方向。坐标系的单位仍为Twip若利用绘图方法在窗体或某容器类对象上绘图,均使用容器坐标系 容器坐标系的度量单位,2023/9/5,Visual Basic Programming,容器坐标系的度量单位,2023/9/5,Vis
4、ual Basic Programming,色彩函数,在设计时,可以通过属性窗口打开BackColor、ForeColor等与颜色有关的属性的调色板,进行设置,但要在程序运行时通过代码改变对象的色彩,则大多通过使用色彩常量或色彩函数来进行。色彩常量是系统内置的,可不加说明直接使用,如 Label1.ForeColor=vbRed 色彩函数的调用格式是:RGB(r,g,b)自变量r、g、b 分别为红色、绿色、兰色三种基本色的亮度等级、取值范围为0255。RGB函数可以根据r、g、b的设置值自动生成相应的色彩数据。例如,上面的示例可改为:Label1.ForeColor=RGB(255,0,0),
5、9.1.2,2023/9/5,Visual Basic Programming,使用绘图控件,绘图控件Shape和Line都仅用于在窗体或图片框控件内绘制图形或画线。绘制的图形或线段只能作为某种装饰,也就是说,绘出的图形不支持任何事件。Shape控件 Line控件,9.1.3,2023/9/5,Visual Basic Programming,Shape控件,Shape控件的主要属性 改变Shape属性的取值,可以绘制不同形状的图形 Shape属性的设置值 例9-1图形变换程序,2023/9/5,Visual Basic Programming,Shape控件的主要属性,2023/9/5,Vi
6、sual Basic Programming,Shape属性的设置值,2023/9/5,Visual Basic Programming,例9-1图形变换程序,本程序窗体中的图形的形状可在每次单击窗体时变换,图形的颜色则每运行一次程序就变换一次 程序代码,2023/9/5,Visual Basic Programming,Line控件,Line控件的常用属性 改变BorderStyle属性的取值,可以得到不同形式的划线 BorderStyle属性的各种设置值 例9-2转动的指针程序,2023/9/5,Visual Basic Programming,Line控件的常用属性,2023/9/5,V
7、isual Basic Programming,BorderStyle属性的各种设置值,2023/9/5,Visual Basic Programming,例9-2转动的指针程序,本程序的界面上有一个作为指针的红色细线,当单击窗体时,该细线就会绕着一个固定点旋转一周 程序代码,2023/9/5,Visual Basic Programming,使用绘图方法,使用绘图方法也可在窗体或图片框一类控件上绘图。绘图方法共有三种,分别是画点、划线和绘制圆与椭圆的方法。画点方法 划线方法 画圆或椭圆方法 清除图形 在图形中加入文本,9.1.4,2023/9/5,Visual Basic Programmi
8、ng,画点方法,画点实质是通过为指定象素设置颜色来实现的。画点方法的一般形式绘制点的大小取决于DrawWidth属性。若DrawWidth的值为1,则点的大小为一个象素,若DrawWidth的值大于1,则点的中心位于指定坐标。如果需要清除一个点,则只需将Color参数设为容器的背景色即可。例9-3画彩色点程序 例9-4清除标签文字程序,2023/9/5,Visual Basic Programming,画点方法的一般形式,Object.Pset Step(x,y),Color 其中,Object是用于绘图板的“容器”对象名;x、y分别是绘制点在容器坐标系中的水平坐标值与垂直坐标值,类型为单精度
9、型;Color用于指定绘制点的色彩。若在本窗体上画点,Object参数可以缺省;若不指定Color,则缺省颜色为当前设定的ForeColor颜色;可选的Step是由CurrentX和CurrentY属性所指定的图形当前位置的参数。,2023/9/5,Visual Basic Programming,例9-3画彩色点程序,右图是本程序执行后得到的画面。运行程序,将在图片框Pic1中填充30000个彩色点。点的位置是随机生成的,点的颜色也是随机生成的。程序代码,2023/9/5,Visual Basic Programming,例9-4清除标签文字程序,单击“清除”命令按钮,标签文字将逐渐消失。尽
10、管随机生成的点的位置有可能重复,但处理的点的个数达到对象范围内的总点数时,从视觉角度看,可以认为标签文字已被清除了。程序代码,2023/9/5,Visual Basic Programming,划线方法,划线方法既可以单个划线,也可以连续划线,还可以用于绘制矩形 划线方法的一般形式是:各个参数的意义 在窗体上绘制一个三角形 使用Step参数的最大好处是起点与终点的坐标可以采用与上一坐标点的相对值,这对于连续划线十分方便。使用Step参数在窗体上绘制三角形 利用Line方法绘制矩形,更为简便,只要给出矩形对角线两个端点的坐标,再加上一个B选项即可例9-5在窗体上绘制0360度的正弦函数曲线,Ob
11、ject.Line Step(x1,y1)-Step(x2,y2),Color,B F,2023/9/5,Visual Basic Programming,各个参数的意义,Object:对象名,在当前对象上划线则可缺省;第一个Step:可选项,用于指定由CurrentX与CurrentY属性所提供的当前图形起点坐标;(x1,y1):起点坐标;第二个Step:可选项,用于指定由CurrentX与CurrentY属性所提供的图形当前终点坐标;(x2,y2):必选项,终点坐标;Color:设置划线颜色的长整型数;B:可选项,用于绘制矩形,(x1,y1)、(x2,y2)分别用于指定矩形对角线的两个端点
12、的坐标;F:在使用B参数的前提下使用,用于指定对矩形以矩形边框的颜色进行填充。,2023/9/5,Visual Basic Programming,在窗体上绘制一个三角形,Private Sub Command1_Click()Line(1500,500)-(2500,750)Line-(1750,1500)Line-(1500,500)End Sub,2023/9/5,Visual Basic Programming,使用Step参数在窗体上绘制三角形,Private Sub Command1_Click()Line(1500,500)-Step(1000,250)Line Step(-75
13、0,750)Line Step(-250,-1000)End Sub,2023/9/5,Visual Basic Programming,例9-5在窗体上绘制0360度的正弦函数曲线,首先可使用Line方法绘制坐标系的两个坐标轴线,再依次求出每个自变量x对应的函数值y,使用Pset方法画点即可。根据自变量的变化范围,可使用循环实现。程序代码,2023/9/5,Visual Basic Programming,画圆或椭圆方法,画圆与椭圆的方法都是Circle,它的一般形式是:Circle方法既可用于画圆,也可用于画椭圆,还可以画圆弧 它的各个参数的意义 例9-6在窗体上画一个圆和一个圆弧 例9-
14、7绘制一个立体饼图,Object.Circle Step(x,y),Radius,Color,Start,End,Aspect,2023/9/5,Visual Basic Programming,各个参数的意义,Object:绘图容器的对象名,在当前对象上画图时可省略;Step:可选项,意义同Line方法;(x,y):x、y分别为绘制的圆的圆心或椭圆的中心水平与垂直坐标,单精度数;Radius:圆的半径或椭圆的长轴半径;Color:指定图形颜色的长整型数,如果缺省,则使用ForeColor属性规定的颜色;Start:在画圆弧时用于设置圆弧的起始弧度值;End:在画圆弧时用于设置圆弧的结束弧度值
15、;Aspect:在画椭圆时用于指定水平长度和垂直长度比的正浮点数。,2023/9/5,Visual Basic Programming,例9-6在窗体上画一个圆和一个圆弧,Private Sub Command1_Click()Const pi=3.14159265 DrawWidth=2 设置图形宽度 Circle(1000,1000),500,RGB(255,0,0)Circle(3000,1000),500,RGB(255,0,0),9-pi/2,9-pi/6End Sub,Private Sub Command1_Click()Const pi=3.14159265 DrawWidth
16、=2Circle(2000,1500),800,RGB(255,0,0),9-pi/2,9-pi/6 将圆心移位,绘出楔型部分Circle Step(100,9-150),800,RGB(255,0,0),9-pi/6,9-pi/2End Sub,2023/9/5,Visual Basic Programming,例9-7绘制一个立体饼图,立体饼图的主体就是一个椭圆,为了产生立体感,可连续绘制多条原始椭圆的弧线,弧线的中心与原始椭圆平行位移,如果再设置与原始椭圆边框不同的颜色,就会得到具有立体感的饼图程序代码,2023/9/5,Visual Basic Programming,Option E
17、xplicitPrivate Sub Command1_Click()Dim i As Integer,n As Single Const pi=3.14159265 FillStyle=4 用斜线填充 Circle(2000,1200),1500,RGB(0,0,255),0.5 For i=1 To 100 n=i*5 Circle(2000,1200+n),1500,RGB(0,120,255),pi,2*pi,0.5 Next iEnd Sub,2023/9/5,Visual Basic Programming,清除图形,使用Cls方法可以清除绘制的图形。Cls方法的一般使用形式是:O
18、bject.Cls 其中,Object是绘制图形所在的容器对象名。,2023/9/5,Visual Basic Programming,在图形中加入文本,在窗体、图片框中增加文字说明时,可使用容器控件的CurrentX与CurrentY属性指定文字输出的位置。CurrentX与CurrentY属性均为运行时属性。执行结果,就会在窗体指定位置输出指定的文字。,例如使用语句:CurrentX=1000CurrentY=1000 Print“输出位置”,2023/9/5,Visual Basic Programming,使用图片框,图片框不仅可用于绘制图形、显示各种图片或图象以及文本或数据,还经常被
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形 处理 多媒体 应用

链接地址:https://www.31ppt.com/p-5932731.html