VB第十章 图形操作
图形操作

图形操作本章要点●图形操作基础:VB中的坐标系统;使用颜色。
●使用图形控件绘图:Line控件和Shape控件。
●使用绘图方法画图:Line、PSet和Circle方法。
使用图形可以美化应用程序界面,实现特殊的动态图像效果。
在计算机应用中,图形操作是令人感兴趣的部分,同时也是较复杂、较难掌握的内容。
VB提供了丰富的图形操作工具以及功能强大的绘图方法,利用它们可以设计出美观实用的图形应用程序。
12.1 图形操作基础在VB中,图形操作主要是在窗体和图片框(PictureBox)对象上进行。
在讨论具体的图形操作之前,首先需要了解一些与绘图有关的基础知识,包括对象的坐标系统、颜色的使用以及相关的常用属性和方法。
12.1.1 坐标系统VB中的各种可视对象都定位于存放它的容器内。
例如,在窗体内绘制控件或图形,窗体就是控件或图形的容器。
窗体处于屏幕(Screen对象)内,屏幕则是窗体的容器。
如果在图片框内放置控件或绘制图形,该图片框就是控件或图形的容器。
对象在容器内的位置由该对象的Left和Top属性确定。
移动容器时,容器内的对象也随着一起移动,而且与容器的相对位置保持不变。
对象可以在容器内移动,如果将对象的一部分(或全部)移出了容器的边界,则移出部分(或全部)不予显示。
对象定位使用的是容器的坐标系,每个容器都有一个坐标系。
坐标系由三要素构成:坐标原点,坐标度量单位(刻度),坐标轴的长度与方向。
1. 坐标原点与坐标轴方向在默认的VB坐标系统中,原点(0,0)位于容器内部的左上角,X轴的正向水平向右,Y轴的正向垂直向下。
对于窗体和图片框来说,这里所说的“容器内部”是指可以容纳其他控件并且可用于绘图的区域,该区域称为绘图区或工作区。
绘图区不包括边框,窗体的绘图区还要将标题栏和菜单栏(若有)除外。
因此,窗体中控件的Left属性是指控件左上角到窗体绘图区左边的距离,Top属性是控件左上角到窗体绘图区顶边的距离。
VB图形和绘图操作

VB图形和绘图操作VB图形和绘图操作一、坐标:X值:是沿X轴的位置,窗体中最左端是缺省位置0Y值:是沿Y轴的位置,窗体中最上端是缺省位置0X,Y的值可以小于0,也可以大于容器宽度或高度二、坐标值的刻度:缺省使用缇(Twip)为测量单位. 「Twip」中文译为"缇",是一种和屏幕无关的长度单位,目的是为了让应用程序元素输出到不同设备时都能保持一致的计算方式。
打印机的一个点,即我们说的“磅”,相当于20个 Twips,一英吋相当于 1440个Twips, 一公分(厘米)则相当于567 Twips ,也就是说,如果屏幕上某个对象的长度是1440 Twip的话,将会印出一英吋来。
由于我们在屏幕上操作时会习惯用「像素」(也就是我们常说的屏幕分辨率DPI,系统可以设置各种DPI值),所以我们直接输入数字时必须再将「像素」换算成「Twip」。
当DPI设置为96时(系统默认值),1个像素=(1/96)*1440=15 Twip;当DPI设置为120时,1个像素=(1/120)*1440=12 Twip。
当DPI为96时,如果希望窗体的高是「400」像素,宽是「300」像素,属性的设定值就是:Height=400×15=6000 Twip,Width =300×15=4500 Twip.在VisualBasic应用程序中,屏幕(Screen)是一个对象。
其Width和Height属性以Twip为单位反映出屏幕的宽度和高度。
而TwipsPerPixelX和TwipsPerPixelY这两个属性只与硬件有关,而与屏幕上可设定的分辨率无关。
将Width除以TwipsPerPixelX可以计算出屏幕的水平分辨率(像素数),同样将Height除以TwipsPerPixelY 也可以计算出屏幕的垂直分辨率。
要想保持一个窗口或是控件的物理大小不变,只要计算出设计时的分辨率与实际运行时的分辨率的比值,然后根据这个比值来调节窗口和其中的控件的大小和相对位置,以及显示的字体尺寸,就可以保持同一应用程序的窗口在不同的系统下的物理外观(当然在不同尺寸的显示器上只能保持比例不变,物理大小还是不同的)。
VB第十章 绘图

第10章 绘图程序
本章要点
坐标系统 绘图属性 绘图方法 应用实例
第10章 绘图程序 10.1 坐标系统
10.1 坐标系统
绘图语句所绘制的图形,通常是通过容器控件 (窗体、图片框)输出的,而每个容器控件都有一个 坐标系统,坐标系是在容器控件中绘图必备的条件。 一个坐标系,包含坐标度量单位、坐标原点、坐 标轴的长度与方向等要素。 由坐标的原点、长度和方向三个要素确定绘制的 图形在容器中的位置。
格式: [对象名.] Circle [ [Step] (X,Y),半径[,颜色] [,起始角][,终止角][,长短轴比率]]]
可控制画圆还是椭圆 默认值为1,画圆。 功能:在由[对象名 指定的容器内,在坐标系中以 取值为.] [-2π , 2π]
可控制画圆弧和扇形
(X,Y)为圆心画圆或椭圆或圆弧或扇形。
演示 程序
第10章 绘图程序 10.1 坐标系统
方法二:
Private Sub Form_Click()
格式:[对象.]Scale[(xLeft,yTop)-(xRight,yBottom)]
演示 程序
Form1.Scale (-14, 14)-(14, -14) Form1.CurrentX = -14 Form1.CurrentY = 14 Print "(-14,14)" Form1.CurrentX = 11 Form1.CurrentY = -13 Print "(14,-14)" Form1.CurrentX = 0 Form1.CurrentY = 0 Print "(0,0)" Form1.Line (-14, 0)-(11, 0), vbRed Print "X轴正方向" Form1.Line (0, -14)-(0, 14), vbRed Print "Y轴正方向"
vb图形控件和图形方法

二.AutoSize 属性(逻辑类型)
➢ AutoSize属性值为Ture时,图片框的边界会 随着所装入图片的大小变化而变化。此时在设 计窗体过程中就应该特别小心,图片将不考虑 窗体上其他控件而自动调整大小,可能导致意 想不到的后果,如覆盖其他控件等。所以应慎 用,以免影响窗体界面的完整性。
三.Align属性(整数0~4)
二.Stretch属性(逻辑类型)
➢影响框控件Stretch属性设置为Fakse(默认值)时,可 根据图片的大小手工调整控件的大小,以达到满意的显 示效果;当设置为True时,将根据控件的大小来自动调 整图片的大小,这时若调整影像框的大小,可能会使图 片变形,影响图像的真实显示。
阶段2 影像框控件常用事件
任务2 图片框控件
阶段1 图片框控件常用属性 阶段2 图片框控件常用方法
阶段1 图片框控件常用属性
一.Picture 属性(字符串类型)
⑴ 设计时选取:在界面设计时,选中该图片框控件属性 窗口中该属性,在弹出的Load_Picture对话框中选择所 要显示的图片文件,相应的图片随之被加载到图片框中。 ⑵ 运行时装入:程序运行时,可用LoadPicture函数装 入图片到图片框控件中。
ScaleWidth属性:该属性值为容器自身的宽度值。 ScaleHeight属性:该属性值为容器自身的高度值。 CurrentX、CurrentY属性:分别表示当前点在容器内
的横坐标、纵坐标。
阶段2 改变容器坐标系的Scale方法
➢容器坐标系中,坐标系刻度单位的默认值为 “缇”(1缇≈0.01764毫米),容器的最小坐 标值为左上角坐标,容器的最大坐标值为右下 角坐标。 ➢利用Scale方法可以改变原点的坐标并随之改 变最大坐标值。 格式:容器名.Scale (x1,y1)-(x2,y2)
VB6.0教程

首先说明一下“工程”的概念。VB把一 个应用程序称为一个工程(Project),而一 个工程又是各种类型的文件的集合,这些文件 包括工程文件(.vbp)、窗体文件(.frm)、 标准模块文件(.bas)、类模块文件(.cls)、 资源文件(.res)、ActiveX 文档(.dob)、 ActiveX 控件(.ocx)、用户控件文件(.ctl)、 属性页文件(.pag)。
“标准”工具栏各按钮的作用如图所示。
二.其他窗口
1.窗体窗口
“窗体窗口”也称为“对象窗口”,
主要用来在窗体上设计应用程序的界面, 用户可以在窗体上添加控件来创建所希
望的界面外观。例如,当新建一个工程
时,VB自动建立一个新窗体,并命名为 Form1,如图所示。
2.代码(code)窗口
双击窗体或窗体上的 控件就可以弹出代码窗口。代 码窗口是专门用来进行程序设 计的窗口,可在其中显示和编 辑程序代码(如图1-11所示)。 也可以通过点击菜单栏上的 【视图】—>【代码窗口】, 调出代码窗口。 代码窗口标题栏下面 有两个下拉列表框,左边是 “对象”下拉列表框,可以选 择不同的对象名称;右边是 “过程”下拉列表框,可以选 择不同的事件过程名称,还可 以选择用户自定义过程的名称。
1.3 Visual Basic 6.0集成开发环境 1.3.1窗口介绍
第10章 VB图形操作

必要参数,数值范围从0到255,表示颜色的蓝色成分
10.1 坐标和颜色
表10-1-3 一些常见的标准颜色值
颜色 黑色 蓝色 红色值 0 0 绿色值 0 0 蓝色值 0 255
绿色
青色 红色 洋红色 黄色 白色
0
0 255 255 255 255
255
255 0 0 255 255
0
255 0 255 0 255
【例10-5】代码
10.2 图形控件
图10-2-1 例10-5运行界面
10.2 图形控件
10.2.2 图像框(Image)控件
Image控件的用途与PictureBox控件相似。但 它只能用于显示图形,不能作为其他控件的容 器,也不支持PicureBox控件的高级方法。
10.2 图形控件
10.1 坐标和颜色
以下规则用于 Visual Basic坐标系统:
当移动控件或调整控件的大小时,使用控件容器的坐标 系统。如果直接在窗体上绘制对象时,窗体就是容器。 如果在框架或图片框里绘制控件时,框架或控件是容器 。 所有的图形和 Print 方法,使用容器的坐标系统。 一些用来调整窗体大小或移动窗体的语句,用来表示窗 体的位置和大小。 当创建用来调整窗体大小或移动窗体的代码时,应先检 查 Screen 对象的 Height 属性和 Width 属性,以确保窗 体在屏幕上大小合适。 任何容器的缺省坐标系统,都是由容器的左上角(0,0 )坐标开始。
第10章 图形操作.ppt

• 本章主要任务:
1.掌握建立图形坐标系统的方法。 2.掌握VB的图形控件和图形方法及其应用。 3.掌握简单几何图形的绘制。
目录 10.浙1 江10科..2技学10院.3教1信0.4系计10算.5机本基章础小教结学网作站业:www.Goit.1Net
10.1 图形控件
• VB提供了四个图形控件,分别是 • 图像控件( Image ) • 图片框( Picture Box ) • 形状控件( Shape ) • 直线控件( Line ) • 图形控件的优点是可以使用较少的代码
Picture1.AutoSize = True End Sub Private Sub Cmdimage_Click()
Image1.Height = 1620 Image1.Width = 1800 Image1.Stretch = True End Sub Private Sub Cmdexit_Click() End End Sub
10.1 图形控件
图片框有两个特有的属性AutoSize属性和Align属性
图片框的AutoSize属性值为True时,图片框会自动调 整尺寸以适应所装载的图片大小。利用Align属性 可以手工创建工具栏或状态栏,Align属性值用来 确定图片框出现在窗体上的位置,下面是Align可 取的值:
0—缺省值 1—放于窗体顶部 2—放于窗体底部 3—放于窗体左边 4—放于窗体右边
富的文本控件能够提供字处理功能相似,图片框 能够进行图形处理,例如在图片框中装载图像、 在磁盘上保存图像、用图形方法绘图、打印、逐 个处理像素、设置图像比例等等。此外,图片框 还可以作为其它控件的容器。 • 图片框加载图片的方法与图像控件中的方法一样。
【VIP专享】VB第十一章课件《图形操作》

系统会根据给定的坐标参数自动计算出ScaleLeft、 SclaeTop、ScaleWidth、ScaleHeight的值: ScaleLeft=xLeft ScaleTop=yTop ScaleWidth=xRight-xLeft ScaleHeight=yBotton-yTop 例如,Form1.Scale(-100,100) – (100,-100)将建立与例 11.1一样的坐标系。
5
对象的坐标系统允许由用户自定义,有2种 方法用于坐标系统的定义。
1.通过对象的ScaleTop、ScaleLeft、 ScaleWidth和ScaleHeight属性来实现。
属性ScaleTop、ScaleLeft的值用于控制对 象左上角坐标,所有对象的ScaleTop、 ScaleLeft属性的缺省值为0,坐标原点在对象的 左上角。当改变ScaleTop或ScaleLeft的值后, 坐标系的x轴或y轴按此值平移形成新的坐标原 点。
12
4.AutoRedraw属性 AutoRedraw属性用于设置和返回对象或控件是
否能自动重绘。
若AutoRedraw属性值为True时,使Form对象或 PictureBox控件的自动重绘有效,否则对不接收重绘 事件(Paint). 5.FillStyle和FillColor属性
封闭图形的填充方式由FillStyle和FillColor属性决 定。
第11章 图形操作
11.1 度量系统 11.2 坐标系统 11.3 绘图属性 11.4 图形控件 11.5 图形方法与事件 11.6 程序举例
1
VB提供了相当丰富的图形功能,既可通过 图形控件进行图形操作,也可通过图形方法在 窗体或图片框上输出文字或图形。灵活使用这 些图形控件和图形方法,不仅可以完成许多特 殊的功能,而且可以Windows的程序界面增加 活力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1:表示该对象被定位于Z序列的后面。
例:作出下列效果的界面
10.2 绘图属性(窗体、pictureBox和打印机对象所具有的属性) 一、当前坐标属性(当前坐标会随着输出内容而改变):
Form1.left
0
Form1.top
x
(scaleleft,scaletop) Form1.height Form1.scaleheight
y
3)属性ScaleMode决定对象坐标的度量单位,共有11种 (常用8种,默认的Twip),见下表:
常数 设置 描述 值
vbUser
vbTwips vbPoints vbPixels
Private Sub Form_Activate() Dim i As Integer Shape1(0).Shape = 0 Shape1(0).FillStyle = 2 For i = 1 To 5 Load Shape1(i) Shape1(i).Left = Shape1(i - 1).Left + 750 Shape1(i).Shape = i
For i = 1 To 2
For j = 1 To 2 k = (i - 1) * 2 + j Load Shape1(k) Shape1(k).Visible = True Shape1(k).Top = mtop: Shape1(k).Left = mleft
mleft = mleft + Shape1(0).Width
Private Sub Form_Click()
Dim j As Integer form1.CurrentX = 0 form1.CurrentY = ScaleHeight / 2 form1.DrawWidth = 1 For j = 0 To 6 form1.DrawStyle = j form1.Line -Step(ScaleWidth / 15, 0) Next j For j = 1 To 6
0
1 2 3
ScaleHeight等属性值中一个的或多个设置为自定义
缇(缺省) 磅 像素
vbChracters vbInches
vbMillimeters vbCentimeters
4 5
6 7
字符:水平每个单位=120缇,垂直每个单位=240缇 英寸
毫米 厘米
改变容器的ScaleMode属性值,不会改变容器的大小或 它在屏幕上的位置,只是改变了容器的度量单位,VB会重新 定义对象坐标度量属性ScaleHeight和ScaleWidth。 无论采用哪一种坐标单位,默认的坐标原点都为对象的左 上角,横向向右为X轴的正方向,纵向向下为Y轴的正向。
Private Sub Form_Click() Dim j As Integer, x As Single, y As Single y = Form1.ScaleHeight: x = Form1.ScaleWidth sp = 255 / y For j = 0 To y form1.Line (0, j)-(x, j), RGB(j * sp, j * sp, j * sp) For i = 1 To 10000 Next i Next j End Sub
Drawstyle属性给出了在这些对象上所画线条的线型,意义见下表:
常数 vbSolid vbDash 设置值 0 1 描述 实线(默认) 虚线
vbDot
vbDashDot vbDashDotDot
2
3 4
点线
点划线 双点划线
vbInsisible
vbInsideSolid
5
6
无线
内实线
例:通过改变DrawStyle属性在窗体上画出不同的线型。通过改变DrawWidth属性 画一系列宽度递增的直线。代码如下:
[对象名.] Scale [ ( xLeft , yTop )-(xRight, yBottom) ] 其中: (1)Scale:方法名
(2) ( xLeft , yTop )表示对象的左上角的坐标值, (xRight, yBottom)为对 象的右下角的坐标值。
只要给定了这两个值,VB系统会自动计算出ScaleTop、ScaleLeft、 ScaseHeight、和ScaleWidth的值:
form1.DrawWidth = j * 3
form1.Line -Step(ScaleWidth / 15, 0) Next j
End Sub
三、填充与色彩属性:
容器中用方法画出的封闭图形的填充方式和填充颜色由FillStyle和 FillColor这两个属性决定。FillColor指定填充图案的颜色,默认与Forecolor 相同。FillStyle指定填充的图案,共有8种,见P232图1.10.6 区别: FillColor 和ForeColor
1)VB默认采用对象的ForeColor绘图,即绘制出的线条颜色; 2) FillColor则是封闭图形的填充颜色。
两种颜色的设置可以使用属性窗口实现,也可以通过以下颜色函数指定色 彩。
1、RGB函数 格式:RGB(红,绿,蓝) 从理论上讲,用三基色混合可产生256*256*256种颜色,但实际使用时受 到硬件的限制。 2、QBColor函数
格式:QBColor(颜色码)
其中:颜色码的取值见下表:
颜色码 0 1 2
颜色 黑 蓝 绿
颜色码 6 7 8
颜色 黄 白 灰
颜色码 12 13 14
颜色 亮红 亮晶红 亮黄
3
4 5
青
红 晶红
9
10 11
亮蓝
亮绿 青亮
15
亮白
例:演示颜色的渐变填充过程
分析:要产生渐变效果,可多次使用RGB函数,每次对RGB( )函数的参 数稍做变化。现以线段填充矩形区,通过改变直线的起终点坐标和RGB函 数中的三基色的成分产生渐变效果。代码如下:
例:在Form_click事件中通过Scale方法定义Form1新的坐标系。
Private Sub Form_click() Form1.Cls Form1.Scale (-200, 250)-(300, -150) Form1.Line (-200, 0)-(300, 0) Form1.Line (0, 250)-(0, -150) CurrentX = 0: CurrentY = 0: Print 0 CurrentX = 280: CurrentY = 20: Print "X" CurrentX = CurrentY = 240: Print "Y" Form1.Line (0, 0)-(200, 180), QBColor(12) Form1.Line (0, 0)-(-200, 180), QBColor(14)
窗体、pictureBox或打印机(Printer)的CurrentX和CurrentY属性给出了这 些对象在绘图时的当前坐标。当坐标系确定后,常用这两个属性来指定一个坐 标点,再在这个点上输出内容。 例:用Print方法在窗体上随机输出1000个五角星。代码如下:
Private Sub Form_Click( ) For i = 1 To 1000
form1.CurrentX = Form1.ScaleWidth * Rnd
form1.CurrentY = Form1.ScaleHeight * Rnd form1.Print "★"
For j = 1 To 1000000
Next j Next i End Sub
二、线宽和线型属性:
窗体、图片框或打印机的DrawWidth属性给出这些对象上所画出(用 方法画出)线条的宽度或点的大小(以像素为单位,最小及默认值为1)。
Shape可以用来画矩形、正方形、圆、椭圆、圆角矩形和 圆角正方形。当Shape控件放到窗体时显示为一矩形,通过 Shape属性可确定所需要的几何形状。FillStyle属性为形状填 充图案。FillColor属性为形状着色。
例:用Shape控件的Shape属性显示Shape控件的6种形状,并 填充不同的图案。如图所示。
如:当新建一个窗体时,坐标原点在窗体的左上角, Height=3600,Width=4800,ScaleLeft=0,ScaleTop=0,
而:ScaleHeight=3195,ScaleWidth=4680
二、自定义坐标系统(对容器对象而言):
容器对象的默认坐标系统对绘制控件不会有影响,但对作图就有较大 的影响。因为习惯上绘图坐标原点是在窗体的中心。所以常需要对坐标原 点进行重新设置。设置方法为:
Private Sub Form_Load() Dim mtop As Integer, mleft As Integer Dim i As Integer, j As Integer, k As Integer mtop = Shape1(0).Top mleft = Shape1(0).Left + Shape1(0).Width
•B:表示画矩形;
•F:表示用画矩形的颜色来填充矩形,F必须和B一起使用,如果只有 B没有F,则矩形的填充由FillColor和FillStyle决定。
注意:用Line方法在窗体上绘制图形时,如果将绘制过程放在Form_load事 件内,必须将窗体的AutoRedraw属性设置为True,否则所绘制的图形将无 法在窗体上显示。
Next j
mtop = mtop + Shape1(0).Width / 2 mleft = Shape1(0).Left + Shape1(0).Width / 2 Next i End Sub