Vis
ual
B
AS
IC




Visual Basic
第 11章
图形与图象设计
万博科技职业学院
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
主要内容
? 图形控件:
?Shape 形状
?Line 直线
? 绘图方法:
?PSet
?Line
?Circle
? 显示图片控件
?PictureBox 图片框
?Image 图像框
? 容器:
?窗体和图片框
? 坐标系:
?坐标轴
?度量单位
? 自定义坐标系
? 颜色及颜色函数
?QBColor(n)
?RGB(r,g,b)
?vbRed 等符号常量
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
Shape-形状控件的主要属性
? Shape属性:决定 6种形状之一
? FillStyle属性:决定填充的图案
? BorderStyle属性:决定边界线的虚实
? FillColor:填充色,BorderColor:边框色
? BorderWidth:边框宽度。如宽度 >1,则边界只
能是实线。
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
Line(直线) 控件的主要属性
? X1,Y1 - 起点坐标
? X2,Y2 - 终点坐标
? BorderWidth - 线条宽度
? BorderStyle - 线条虚实样式
如 BorderWidth >1,则 BorderStyle不起作用,
只能是实线。
? BorderColor - 线条颜色
注意:在运行时想改变直线的位置,应改变其端点
的坐标。 Line 没有 Left 和 Top 属性

?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
坐标系
? 单位,Twip(缇 )=1/1440 英寸
默认,ScaleMode属性
0 自定义
1 缇
2 磅 (1”/72)
3 像素
4 字符
5 英寸
6 毫米
7 厘米
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
自定义坐标系
? 使用 Scale语句:
Scale (x1,y1)-(x2,y2)
例 Scale (-4,2)-(4,-2)
?始终有:
Scalewidth=x2-x1
ScaleHeight=y2-y1
均可能为负!
(0,0)- 4 4
-2
2
清更正第 285页的错误!
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
容器及其与画图有关的属性
? 容器:窗体、图片框或打印机
? 坐标属性
? ScaleLeft, ScaleTop -左上角坐标
? ScaleWidth,ScaleHeight - 宽度和高度
? CurrentX,CurrentY - 当前坐标
? AutoRedraw -自动重画
? DrawWidth - 线条宽度
? DrawStyle - 线条虚实样式
? FillColor -填充色,FillStyle -填充样式
若 DrawWidth>1,则
DrawStyle不起作用。
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
DrawMode属性
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
画点方法 PSet
? 格式:
[对象名,]Pset [Step] (x,y) [,颜色 ]
? 例如,Pset (300,500),vbRed
(在点( 300,500)处画一红点 )
? Step 表示使用相对坐标即:
CurrentX=CurrentX+x
CurrentY=CurrentY+y
然后画点
例 1
例 2
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
画直线方法 Line
? 格式:
Line [Step] [(x1,y1)]-[Step](x2,y2) [,颜色 ] [,B[F]]
其中:
?Step 表示使用相对坐标
?起点坐标 (x1,y1)的缺省值为 (CurrentX,CurrentY)
?终点坐标 (x2,y2)不能省。
?选择, B”将画出一个以 (x1,y1)和 (x2,y2) 为对角线的
矩形。
如果再选择, F”,则以指定的颜色填充。
例,Line (0,0)-(100,50),vbBlue 画一条蓝线

?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
画园或椭圆
? 格式:
[对象名,]Circle [Step]<圆心坐标 >,<半径 >
[,<颜色 >,<起点 >,<终点 >,<比例 >]
? 说明:起点、终点用于画弧 (弧度 ),比例用于画
椭圆。起点、终点为负时,画出与圆心连线。
? 例如:
PictureBox1.Circle (0,0),100,vbBlue,,,0.5
画一个蓝色椭圆
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
清除( Cls)方法
? 用于清除用画图方法画出的图形和用
Print 语句打印的信息:
? 语句格式:对象名,Cls
例如,me.Cls
Picture1.Cls
? 注意,如果 AutoRedraw=False,则 Cls方法
不能清除在 AutoRedraw为 True时所产生的
图形和打印的信息。

?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
颜色及有关函数
? 颜色值用长整型数表示,如:
蓝色,&H00FF0000&
绿色,&H0000FF00&
红色,&H000000FF&
? 内置颜色函数:
RGB(red,green,blue) red,green,blue,0~255
QBColor(n) n=0,1,2,…,15
? 颜色常量:
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
显示图片的控件
? 图片框- PictureBox
? 图像框- Image
? 图片的加载:
? 设计时:指定 Picture的文件名
?运行时,1。用 LoadPicture函数
2。用其他控件的 Picture属性赋值
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
图像框 Image的主要属性
? Picture属性:所显示的图片
? Strech属性:
?False(缺省):图不伸缩,框随图大小。
?True:图随框大小伸缩。
?■
Vi
su
al
BA
SI
C




万 博 科 技 职 业 学 院
Wanbo Inst,Of Since & Tech.
图片框 PictureBox的主要属性
? Picture属性:所显示的图片
? AutoSize属性:
?False(缺省):框大小不随图变。
?True:框大小随图变。