当前位置:首页 >> 演讲/主持 >> VB教程 全套课件 vb-10

VB教程 全套课件 vb-10


第十章 图 形 操 作 (3学时)
10.1
10.2 10.3 10.4

图形操作基础
绘图属性 图形控件 图形方法

*10.5 应用

10.1 图形操作基础
10.1.1 坐标系统
每个容器都有一个坐标系,构成一个坐标系,需要三个要素:坐标原点、 坐标度量单位、坐标轴的长度与方向。坐标度量单位由容器对象的 ScaleMode属性决定。缺省时为Twip。每英寸1440个Twip,20个Twip为一磅。

Height

原点

ScaleHeight

10.1.2 自行定义坐标系
方法一:通过ScaleTop,ScaleLeft,ScaleWidth和ScaleHeight属性实现。 (ScaleTop,ScaleLeft)

例10.1 在Form_Paint 事件中定义窗体的坐标系。

方法二:采用Scale方法来设置坐标系: [对象.]Scale [(xLeft,yTop)-(xRight,yBotton)]

(xLeft,yTop)

(xRight,yBotton)

例如,Form1.Scale (-200,250) - (300, -150)将建立和例10.1一样的坐标系。 可在程序中使用Scale方法改变坐标系统。当Scale方法不带参数时,取消用户 定义的坐标系,采用缺省坐标系。 改变坐标系后产生的影响: 例10.1a Line (0, 0) - (1000, 1000)在不同坐标系的效果 例10.1b 控件对象在坐标系内与X轴和Y轴的位置保持相对不变

10.1.3 图形层

层 次 最上层 中间层 最下层

三个图形层放置的对象 对象类型 工具箱中除标签、 线条、 形状外的空件对象 工具箱中标签、线条、形状空件对象 由图形方法所绘制的图形

利用图形层的特点,实现悬浮效果。
在命令按钮后放置一个表面 色彩为黑色的标签即。 同一图形层内控件对象排列顺序称为Z序列。 Zorder方法的语法为: 对象.Zorder [position] position =0 表示该控件被定位于Z序列的前面 position = 1表示该控件被定位于Z序列的后面

例 Zorder方法的使用。

10.2 绘图属性
10.2.1 当前坐标
CurrentX,CurrentY属性给出窗体或图形框或打印机在绘图时的当前坐标。 这两个属性在设计阶段不能使用。

例10.2

利用CurrentX,CurrentY属性在窗体上输出立体字效果。

10.2.2 线宽与线型
窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点 的大小。DrawWidth属性以像素为单位来度量,最小值为1。

例10.3

用DrawWidth属性改变直线宽度。

窗体或图形框或打印机的DrawStyle属性给出这些对象上所画线的形状。
设置值 0 1 2 3 4 5 6 线 型 实线(缺省) 长划线 点线 点划线 点点划线 透明线 内实线 图 示

10.2.3 填充与色彩

Visual Basic 默认采用对象的前景色(ForeColor属性)绘图,也可以通过以 下颜色函数指定色彩。 1. RGB(红,绿,蓝)函数 2. QBColor(颜色码) 例10.4 红、绿、蓝三基色使用0—255之间的整数。 颜色码使用0—15之间的整数

颜色的渐变过程。

10.3 图形控件
10.3.1 Picture Box(图形框)
主要作用:显示图片、也可作为其他控件的容器。 装入图形:图形框对象.Picture = LoadPicture(“图形文件名”) 删除图形:图形框对象.Picture = LoadPicture( ) Autosize属性设置为True时,图形框能自动调整大小与显示的图片匹配

10.3.2 Image(图像框)
图像框比图形框占用更少的内存快。图像框内不能保存其他控件。 Stretch属性=False,图像框可自动改变大小以适应其中的图形。 Stretch属性=True, 图形可自动调整尺寸以适应图像框的大小。 例10.5 图形框Autosize属性与图像框的Stretch属性对加载图形的影响。 SavePicture对象名.属性,文件名 把绘制或装在窗体、图形框和图像框内的图形保存到Bmp格式文件内。

10.3.3 Line(画线工具) 10.3.4 Shape(形状) 例10.6 例10.7

10.4 图形方法
10.4.1 Line方法
画直线或矩形: [对象.] Line [ [Step] (x1,y1)]-(x2,y2)[,颜色][,B[F]] 其中:对象可以是窗体或图形框。 (x1,y1) ,(x2,y2)为线段的起终点坐标或矩形的左上角右下坐标。 关键字B表示画矩形,关键字F表示用画矩形的颜色来填充矩形。 例10.8 用Line方法在一个窗体上画坐标轴与坐标刻度。 例10.9 用Line方法在一个窗体上画随机射线。

10.4.2 Circle方法
Circle方法用于画圆、椭圆、圆弧和扇形。

10.4.3 Pset方法
Pset方法用于画点: [对象.] Pset [Step] (x,y) [,颜色] 参数(x,y)为所画点的坐标,关键字Step表示采用当前作图位置的相对值 。 例10.10 本例用Pset方法绘制阿基米德螺线

10.4.4 Point方法
Point方法用于返回指定点的RGB颜色,其语法格式如下: [对象.] Point (x,y) 其中参数对象与(x,y)的意义与前述相同。 例10.11 用Point方法获取一个区域的信息。 利用例10 .11的处理方法可使图片产生朦胧的效果。

10.5 应用
10.5.1 几何图形绘制
利用Line方法和Circle方法及DrawWidth、DrawStyle和DrawMode属性。 例10.12 用Circle方法在窗体上绘制由圆环构成的艺术图案。 算法:等分半径为r的圆周为n份,以等分点为圆心,半径r1绘制n个圆。 例10.13 为了能绘制任意区间[a,b]上函数f(x) 积分面积图,可在窗体上放置一个图形框和 两个文本框。文本框用于指定积分上下限的值,图形框用于绘图。根据区间 [a,b]的值设置图形框的左上角坐标为(a-1,b?b+1),右下角坐标为(b+1,1)。将区间[a,b]等分为n 份,在每一等分点i上,用Line方法连线到(i,i*i)。

10.5.2 简单动画设计
动画:有计划地移动一个对象包括改变对象的形状和尺寸。 编程时可以采用帧动画原理,即通过一系列静态图辅之以连续快速变化产生动画 效果,也可以通过Move方法改变图形对象的Top及Left属性来移动图形。动画的速 度使用时钟控制。 例10.14 通过改变图形形状演示一个陀螺在图形框内转动。 例10.15 演示地球图标的转动,在转动时同时使地球图标在窗体内移动,并变化 地球图标的尺寸。 (用PictureClip控件来存放一组图片)

10.5.3 图形漫游
滚动图形通过滚动条的滑块移动,只要设置图形框的Left或Top为滑块当前值的负 数,就可形成图形相对移动。 例10.16 本例在窗体内显示一幅地图,移动滚动条漫游地图。

10.5.4 图形处理技术
1. 操作象素 通过PaintPicture方法访问内置在操作系统中的BitBlt服务程序。 dpic.PaintPicture spic,dx,dy,dw,dh,sx,sy,sw,sh,rop 其中: 参数dpic为目标图形对象,spic为传送源, dx,dy是传送目标矩形区域左上角坐标(目标控件内任一位置)。 dw,dh是目标形矩形区域的宽和高。 sx,sy是要传送图形矩形区域左上角坐标。 sw,sh是要传送图形矩形区域的大小。 rop指定传送的象素与目标中现有的象素组合模式(如表所示)。
常 量 vbDstInvert vbNotSrcCopy vbSrcCopy vbSrcInvert 数 值 &H00055009 &H00330008 &H00cc0020 &H00660046 说 明 逆转目标位图 复制源位图的逆到目标位图 复制源位图的到目标位图 用 XOR 组合源位图与目标位图

(dx,dy)
(sx,sy)

sh

PaintPicture 方法

dh

sw dw

传送源
dpic.PaintPicture spic,dx,dy,dw,dh,sx,sy,sw,sh,rop dw,dh sw,sh至少8个Twip

目标

复制图形:设置目标区域左上角坐标和大小与源矩形区域相同。 翻转图形:只需改变坐标系,设置图形宽为负数,则水平翻转图形;图形高度为 负数,则上下翻转图形;如果宽度和高度都为负数,则两个方向翻转图形。 放大图形:改变目标图形的宽度和高度。 旋转图形:要需要对原始图片按行和列的顺序或按列和行的顺序扫描象素点,然 后在目标图形区颠倒行和列的顺序复制象素点。 例10.17 PaintPicture方法翻转放大位图。

例10.17a 本例使用PaintPicture方法实现百叶窗效果。

2 使用DrawMode属性绘制图形
DrawMode属性可以将新象素与原有象素用不同的方法组合。两次Xor运算恢复原 有象素。 例10.18 用鼠标选定图形中的区域复制到指定的图片框。 例10.18a 在Xor运算符下图形叠加的效果。

10.5.5 改变窗体对象外观
通过调用Windows的API函数可改变窗体的外观形状。VB应用程序要访问API函 数,必须在VB应用程序中用Declare语句将API函数声明为外部过程。

Declare语句 将API函数声明为外部过程

Visual Basic应用程序

将API函数声明为外部过程,操作流程如下:

通过“工程/添加模块”在当前工程内加入一个BAS模块文件。 执行VB程序组中的API文本浏览器,启动API函数查看工具。

单击“文件|加载文本文件”命令,装入Win32api.Txt文件。
添加指定的API函数到选定项框中,并将函数声明复制到剪贴板。 将剪贴板中的内容粘贴到BAS模块文件中。

文件/加载文本文件

API文本浏览 器应用程序

选定API函数复制到剪贴板

1。选择信息类型

2。选定

例10.19 建立一个椭圆形状的窗体。
API函数CreateEllipticRgn建立椭圆外形区域,SetWindowRgn显示该区域。 CreateEllipticRgn函数参数说明: (x1,y1) (x2,y2)

坐标参数采用象数值。实际显示的窗体区域由窗体的Height、Width属性确 定。需要使用ScaleX和ScaleY方法对窗体的度量单位进行转换。
SetWindowRgn函数参数说明:

hWnd窗口句柄,hRgn为窗口形状,bRedraw图形重绘控制,为一逻辑值。
句柄(Handle)可看作一个对象的指针,通过它可访问该对象。可通过API函 数或对象的属性返回句柄。 使用API的区域设置函数不仅可以改变窗体外观,也可以改变控件外观。

10.5.6 在程序中加入后台音乐
API函数sndPlaySound可以直接播放音频文件或系统声音。sndPlaySound函数有两个 参数,lpszSoundName指定播放的音频文件或系统声音,uFlags设定播放状态。
uFlags设置 uFlags SND_SYNC SND_ASYNC SND_NODEFAULT SND_LOOP SND_NOSTOP 设 置 &H00 &H01 &H02 &H08 &H10 说 明 同步播放 非同步播放 找不到指定的语音文件时也不播放预设的声音 重复播放 不要停止其他正在播放的语音

例10.20 本例示范用sndPlaySound函数播放音频文件。 调用形式:k = sndPlaySound(音频文件名,播放方式) 播放文件为空,就可停止音乐播放 注:本例要求有多媒体设备


赞助商链接
更多相关文档:

vb6-10

搜试试 5 悬赏文档 全部 DOC PPT TXT PDF XLS 广告 百度文库 专业资料 ...vb6-10_药学_医药卫生_专业资料。高二《Visual Basic》 (6-10)试卷 一、...

VB-2(10-11-1)试卷及答案

搜试试 5 悬赏文档 全部 DOC PPT TXT PDF XLS 广告 百度文库 教育专区 ...VB-1(10-11-1)试卷及答案... 20页 免费 04-10VB试卷及答案 175页...

VB操作题部分

VB操作题部分_教学反思/汇报_教学研究_教育专区。VB操作题部分 ...填空完成程序, 使程序实现如下功能:从键盘输入10个100以内的 整数,单击命令按钮...

VB课后题

搜试试 5 悬赏文档 全部 DOC PPT TXT PDF XLS ...输入 10 个数, 根据 Form1 中全局变量 flag 的不...VisualBasic程序设计教程... 52页 1下载券 VB课后...

VB考试试卷(全,在VB上调试通过)

VB考试试卷(全,在VB上调试通过)_IT认证_资格考试/认证_教育专区。VB 考试题型:一、单选题:20 题,每题 2 分,共 40 分二、填空题:10 题,每题 1 分,共...

10(VB)

搜试试 5 悬赏文档 全部 DOC PPT TXT PDF XLS 广告 百度文库 教育专区 ...vb实验报告(10) 暂无评价 8页 1下载券 VB教程十讲(经典例子) 暂无评价 21...

VB选择_图文

Cos(57*3.14 /180) 函数 InStr("VB 程序设计教程","程序") 1 的值为()...VB语言之选择结构 第四节... 10页 2下载券 喜欢此文档的还喜欢 vb课件—...

跟我学vb--第10课时_select_case语句

跟我学vb--第10课时_select_case语句_工学_高等...问题教学法、讲练结合法 【学时】1学时 【教学...VB程序设计课件第7讲 se... 13页 免费 指点...

VB试卷10

搜试试 5 悬赏文档 全部 DOC PPT TXT PDF XLS 广告 百度文库 教育专区 ...VB-1(10-11-1)试卷及答案... 20页 免费 09—10学年VB期末试卷+答.....

vb实验教程答案

vb实验教程答案_理学_高等教育_教育专区。第一章 答案: 一、单项选择题 1.B 2. C 3. D 4.D 5.D 6.D 7.D 8.C 9.B 10.B 11.A 12.D 13.B ...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com