本章的学习重点
坐标系的定义方法
直线和形状控件的使用
常用图形方法的使用第 14章 图形处理
14.1 图形设计基础坐标系统在 Visual Basic中,窗体、框架和图片框等都可以作为其他控件的容器,所以这些控件又称为容器控件。每个容器控件都有自己的坐标系统,用来标识置于其中的其他控件所在的具体位置。
各坐标系在使用中可以采用 默认坐标系 或 自定义坐标系的坐标值 对位置进行标识。
1,默认坐标系无特殊设置时,容器坐标系为默认设置,即:坐标原点在容器的左上角,水平向右为 X轴正方向;垂直向下为
Y轴正方向。
在默认坐标系中只有正值,没有负值。
14.1 图形设计基础
2,坐标单位坐标系的单位有 Twip,Point,Pixel,Character、
Inch,Millimeter,Centimeter和用户自定义这 8种。
坐标系单位不同只改变度量单位和度量精度,不影响坐标轴的长度或作图容器和区域的大小。
属性值 说明
0-User 用户自定义,即 ScaleLeft,ScaleTop,ScaleWidth、
ScaleHeight属性由用户自行设置
1-Twip 缇,1英寸约等于 1440Twip
2-Point 磅,1英寸约 72个点
3-Pixel 像素,1像素 =15Twip
4-Character 字符,一个字符宽 120Twip、高 240Twip
5-Inch 英寸
6-Millimeter 毫米
7-Centimeter 厘米
ScaleMode属性设置的语法格式:
对象名,ScaleMode = 属性值例如:
Form1.ScaleMode = 3
′ 设置窗体坐标系的坐标单位为像素。
Picture1.ScaleMode = 1
′ 设置图片框坐标系的坐标单位为 Twip。
注意:
窗体与窗体内的容器控件(图片框等)的坐标单位是各自独立的。例如窗体的坐标单位设置为 Twip时,窗体内的容器控件的坐标单位可以为其它 ScaleMode属性值。两者可以相同,也可以不同,根据用户的需要来设置。
14.1 图形设计基础
14.1 图形设计基础
(2)使用 Scale方法设置坐标系语法格式:
[Object,] Scale [( xLeft,yTop) - ( xRight,
yBottom) ]
其中:
Object:对象名;
Scale:方法名;
( xLeft,yTop):对象的左上角坐标值;
( xRight,yBottom):对象右下角的坐标值。
14.2 绘图控件为了在应用程序中体现出图形创作效果,Visual Basic
包含了 直线控件 和 形状控件 。利用绘图控件可以在对象中绘制特定形状的图形。
1.直线控件( Line)
直线控件可以绘制水平线、垂直线或对角线。在设计时,
可以使用线条控件在窗体上、图片框和框架中添加线条。
即使 AutoRedraw属性(自动重绘)的值被设置为 False,直线控件绘制的线也会保留在窗体上。
直线控件的主要属性有:
1) BorderStyle属性:设置线条的类型,属性值取值 0— 6 。
属性值 说明
0-vbTransparent 透明线
1-vbBSSolid 实线
2-vbBSDash 虚线
3-vbBSDot 点线
4-vbBSDashDot 点划线
5-vbBDDashDotDot 双点划线
6-vbBSInsideSolid 内实线
14.2 绘图控件
2) BorderWidth属性设置线条的粗细。该属性受边框风格( BorderStyle)
属性设置的影响。当 BorderWidth属性设置值大于 1时,
BorderStyle属性的有效值为 1(实线)和 6(内实线);若
BorderStyle属性值为 2— 4时,BorderWidth属性设置值只能为 1,否则其表现形式会同实线一样。
3) BorderColor属性设置线条的颜色。
14.2 绘图控件
2,形状控件( Shape)
形状控件可以绘制矩形、圆等图形。将形状控件添加到窗体上时显示为一个矩形,通过属性的设置可确定最终的几何形状。
形状控件除了具有与直线控件一样的 BorderStyle、
BorderWidth和 BorderColor属性外,Shape和 FillStyle属性是其特有属性。
1) Shape属性:设置控件显示形状。属性值取值 0— 6,
默认值为 0。
属性值 说明
0 矩形
1 正方形
2 椭圆
3 圆
4 圆角矩形
5 圆角正方形
14.2 绘图控件
2) FillStyle属性:设置填充效果。属性值取值 0— 6,
默认值为 1。
属性值 说明
0 实心
1 透明
2 水平线
3 垂直线
4 斜线(左上右下)
5 斜线(右上左下)
6 十字线
7 交叉斜线
14.3 图形方法
1,PSet方法
PSet方法可以在窗体或图片框中指定位置画一个指定颜色的点。
语法格式:
[Object],PSet [Step]( X,Y) [Color]
其中:
1) Object:使用 PSet方法的对象名,可以是窗体和图片框;
2) PSet,方法名;
3) Step:可缺省参数,在使用该关键字时,所画的点位于由
CurrentX和 CurrentY属性表示的当前位置相对的( X,Y)处;
4)( X,Y):显示点的坐标位置;
5) Color:用来设置显示点的颜色,可使用 RGB函数或 QBColor函数指定颜色。此参数可以缺省,缺省时为当前 ForeColor属性值。
14.3 图形方法
2,Line方法
Line方法可以在窗体或图片框中指定的位置绘制指定颜色的直线、曲线、空心矩形或填充矩形。语法格式:
其中:
1) Object:对象名,窗体或图片框。
2) Line:方法名。
3) Step:可缺省参数。
4)( X1,Y1):画线的起始坐标位置。( X1,Y1)可以省略,若省略就表示从当前点开始绘制到( X2,Y2)点,
当前点坐标可用其 CurrentX,CurrentY属性得到。
[Object],Line [[Step] ( X1,Y1) ] – [Step] ( X2,Y2) [Color] [,B[F]]
14.3 图形方法
5)( X2,Y2):画线的结束坐标位置。
6) Color:线条的颜色,可用 RGB函数或 QBColor函数指定颜色。此参数可以缺省,缺省时以当前 ForeColor属性颜色画线。
7) B:表示绘制矩形,缺省时为线条。
8) F:表示绘制填色矩形。
14.3 图形方法注意:
1) 绘制空心矩形或填充矩形时,语句中的( x1,y1)表示所画矩形左上角顶点的坐标,( x2,y2)表示所画矩形右下角顶点的坐标。
2) 绘制的直线或矩形边框线的宽度可由所在对象的
DrawWidth属性来设定。语法格式:
DrawWidth = 值
3) 绘制的直线或矩形边框线的线型可由所在对象的
DrawStyle属性来设定。语法格式:
对象名,属性名 = 值
14.3 图形方法
3,Circle方法
Circle方法可以在窗体或图片框指定的位置画一个指定颜色的圆、椭圆、圆弧或扇形。语法格式:
其中:
1)Object:对象名,窗体或图片框。
2)Circle:方法名。
3) Step:可缺省参数。使用该关键字时,( x,y)的坐标表示位置为 CurrentX和 CurrentY属性表示的当前位置的相对距离。
4)( x,y):圆心坐标位置。
5)Radius:圆半径。
[Object],Circle [Step]( x,y),Radius [,Color] [,Start] [,End] [,Aspect]
14.3 图形方法
6) Color:绘制形状边框的颜色,可用 RGB函数或 QBColor函数指定颜色。此参数可以缺省,缺省时为当前 ForeColor属性颜色。
7) Start:画弧的起始角,单位为弧度。
8) End:画弧的终止角,单位为弧度。
9) Aspect:表示园的纵横比。
注意,
1) Aspect表示圆的纵横比。 Aspect = 1时画圆; Aspect > 1时画垂直方向的椭圆,此时 Radius参数值为椭圆长轴半径;
Aspect < 1时画水平方向的椭圆,Radius参数值同样为椭圆长轴半径。
2) Start为画弧的起始角,End为画弧的终止角,单位都为弧度。
当两者都取正值时画弧,两者都取负值时画扇形。
14.3 图形方法
4,Cls方法
Cls方法用于清除 Form或 PictureBox中由图形方法或打印语句生成的图形和文本。清除后,区域以背景颜色填充,
光标复位移到原点,但在窗体设计是 Picture属性设置的背景位图和添加的控件不受其影响。
语法格式:
[对象名,]Cls
14.3 图形方法
5,Point方法
Point方法用于返回指定点的 RGB颜色。
语法格式:
[对象名,]Point( x,y)