- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)使用VB常量,如vbRed,vbBlue等。
例9.5 演示颜色的渐变过程。
Visual Basic程序设计
Visual Basic程序设计
Option Explicit Private Sub Form_Click() Dim i% CurrentX = 600 CurrentY = 1800 Print 0 For i = 1 To 7 Load Shape1(i) Shape1(i).Left = 600 + i * (Shape1(0).Width + 100) Shape1(i).FillStyle = i Shape1(i).Visible = True CurrentX = 600 + i * (Shape1(0).Width + 100) CurrentY = 1800 Print i Next i End Sub
Visual Basic程序设计
Visual Basic程序设计
Option Explicit Private Sub Form_Click() Dim j%, x%, y!, sp! y = Form1.ScaleHeight x = Form1.ScaleWidth sp = 255 / y For j = 0 To y Line (0, j)-(x, j), RGB(j * sp, j * sp, j * sp) Next j End Sub
Private Sub Picture1_Click() Picture1.Scale (-0.5, 1)-(1.5, -0.2) Picture1.Line (-1, 0)-(2, 0) Picture1.Line (0, 2)-(0, -2) For x = 0.3 To 1 Step 0.005 Picture1.Line (x, 0)-(x, x * x), vbBlue Next x End Sub
属性ScaleMode决定容器对象的坐标度量单位,共有8种单位形式。 缺省时为Twip。每英寸1440个Twip,20个Twip为1磅。
度量单位转换可使用ScaleX和ScaleY方法:
对象.ScaleX(转换值,原坐标单位,转换坐标单位)
对象.ScaleY(转换值,原坐标单位,转换坐标单位) 改变容器对象的ScaleMode属性值,不会改变容器的大小或它在屏 幕上的位置。
下角坐标;
③关键字Step表示采用当前作图位置的相对值; ④关键字B表示画矩形,关键字F表示用画矩形的颜色来填
充矩形,F必须与B一起使用。
例9.6用Line方法在图形框PictureBox上绘制函数f(x)=x2在区间[0.3,1] 之间积分面积区域,填充为蓝色。
Visual Basic程序设计
Visual Basic程序设计
Visual Basic程序设计
Visual Basic程序设计
Private Sub Form_Click() Form1.Scale (-8, 2)-(8, -2) Line (-7.5, 0)-(7.5, 0) Line (0, 1.9)-(0, -1.9) CurrentX = 7.5 CurrentY = 0.2 Print "X" CurrentX = 0.5 CurrentY = 2 Print "Y" For i = -7 To 7 Line (i, 0)-(i, 0.1) CurrentX = i - 0.2 CurrentY = -0.1 Print i Next i For x = -6.283 To 6.283 Step 0.01 y = Sin(x) PSet (x, y) Next x End Sub
③ 指定画笔的起终点位置。
④ 调用绘图方法绘制图形。
Visual Basic程序设计
Visual Basic程序设计
Private Sub Form_Click() Form1.Scale (-8, 2)-(8, -2) For x = -6.283 To 6.283 Step 0.01 y = Sin(x) PSet (x, y) Next x End Sub
例9.2在Form_Paint 事件中定义窗体的坐标系。
Visual Basic程序设计
Visual Basic程序设计
Private Sub Form_Click() Cls Form1.Scale (-300, 200)-(300, -200) Line (-300, 0)-(300, 0) Line (0, 200)-(0, -200) CurrentX = 0 CurrentY = 0 Print 0 CurrentX = 260 CurrentY = 50 Print "X" CurrentX = 10 CurrentY = 180 Print "Y" End Sub
Visual Basic程序设计
自行定义坐标系
使用Scale方法,语法如下: [对象.]Scale[(xLeft , yTop)-(xRight, yBotton)] 说明: (1)对象可以是窗体、图形框或打印机; (2)参数指定了对象的左上角坐标和右下角坐标; (3)不带参数时,取消自定义坐标系。
Visual Basic程序设计
实战1,上机题1
Visual Basic程序设计
Private Sub Form_Click() Dim i%, x% Form1.Cls Scale (-20, 10000)-(1000, -1000) Line (-20, 0)-(1000, 0) Line (0, -1000)-(0, 10000) Randomize For i = 0 To 4 x = Int(Rnd() * (10000 - 1000)) Line (i * 200 + 20, 0)-(i * 200 + 80, x), vbRed, BF CurrentX = i * 200 + 20 CurrentY = -20 Print x Next i End Sub
Visual Basic程序设计
第9章
图形操作
9.1 图形操作基础
9.2 绘图属性
9.3 图形方法及控件 9.4 综合应用
Visual Basic程序设计
9.1 图形操作基础
9.1.1 引例 例9.1在窗体上绘制2到2之间的正弦曲线。 在VB中绘制图形,其过程一般分为4个步骤: ① 先定义图形载体窗体对象或图形框对象的坐标系。 ② 设置线宽,线型、色彩等属性。
Visual Basic程序设计
9.2.2 线宽与线型
作用:窗体、图形框或打印机的DrawWidth属性给出这些对 象上所画线的宽度或点的大小(以像素为单位,最小值为1)。 窗体或图形框或打印机的DrawStyle属性给出这些对象上所画 线的形状。 说明:线型只在DrawWidth属性为1时有效。
设置值 0 1 2 3 4 5 6 线 型 实线(缺省) 长划线 点线 点划线 点点划线 透明线 内实线 图 示
例9.4 通过改变DrawStyle属性值在窗体上画出不同的线型。
Visual Basic程序设计
Visual Basic程序设计
Option Explicit
Private Sub Form_Click() Dim j As Integer Print "DrawStyle 0 1 2 3 4 Print CurrentX = 600 CurrentY = ScaleHeight / 3 DrawWidth = 1 For j = 0 To 6 DrawStyle = j CurrentX = CurrentX + 150 Line -Step(600, 0) Next j End Sub
Visual Basic程序设计
Visual Basic程序设计
Option Explicit Private Sub Form_Click() Dim i As Integer Randomize For i = 1 To 100 CurrentX = Form1.ScaleWidth * Rnd CurrentY = Form1.ScaleHeight * Rnd If i Mod 2 = 0 Then Print "A" Else Print "B" End If Next i End Sub
Visual Basic程序设计
9.2 绘图属性
9.2.1 当前坐标
作用:CurrentX、CurrentY属性给出窗体或图形框或打印机 在绘图时的当前坐标。 说明:①属性在设计阶段不能使用,使用CLS方法后,CurrentX 与CurrentY属性值为0。 ②坐标系确定后,坐标(x,y)表示对象上绝对坐标值。若 坐标值前加上Step,则表示对象上的相对坐标位置,即从当前坐 标分别平移x,y个单位,其绝对坐标为(CurrentX+x, CurrentY+y)。 例9.3用Print方法在窗体上随机显示50个“★”和50个“☆” 。
Visual Basic程序设计
9.3 图形方法及控件
9.3.1 Line方法
作用:Line方法用来画直线或矩形。
格式:[对象.] Line [ [step](x1,y1)]- [step](x2,y2) [,[颜色][,B[F]]]
说明:①对象可以是窗体或图形框; ②(x1,y1) 、(x2,y2)为线段的起终点坐标或矩形的左上角和右
Visual Basic程序设计
9.1.2 坐标系统 构成一个坐标系,需要三个要素:坐标原点、坐 标度量单位、坐标轴的长度与方向。
Visual Basic程序设计
9.1.2 坐标系统
属性ScaleLeft 、 ScaleTop控制容器对象左边和顶端的坐标,根据 这两个属性可形成坐标原点。所有对象的ScaleLeft、ScaleTop属性 的默认值均为0,坐标原点在对象的左上角。 属性ScaleWidth和ScaleHeight确定对象内部水平方向和垂直方向的 单元数。