文档介绍:理解VB中坐标系的概念;
掌握用Line控件、Shape控件画直线、矩形、圆(弧)、椭圆的方法;
掌握图片框、图象框的常用属性、常用方法、图片的载入及应用;
掌握用Pset方法、Line方法、Circle方法画点、矩形、圆(弧)、椭圆的方法;
本章要求:
第十一章图形操作
本章重点:
本章难点:
容器控件的坐标,及用户自定义坐标系
VB中坐标系,绘图方法的使用
坐标系统
缺省坐标系统
每个容器都有一个坐标系,构成一个坐标系,需要三个要素:坐标原点、坐标度量单位、坐标轴的长度与方向。坐标度量单位由容器对象的ScaleMode属性决定。缺省时为Twip。每英寸1440个Twip,20个Twip为一磅。
用户自定义坐标系统
1、设置坐标系统的刻度单位
列用户可用ScaleMode属性设置坐标系统的刻度单位。。
说明:
(1)当设置容器对象(例如,窗体或图片框)的ScaleMode属性值>0,将使容器对象的ScaleLeft 和 ScaleTop 自动设置为0,ScaleHeight 和 ScaleWidth 的度量单位也将发生改变。
(2)用ScaleMode属性只能改变刻度单位,不能改变坐标原点及坐标轴的方向。
坐标系统
2、使用Scale属性建立自己的坐标系
(1) 重新定义坐标原点
属性ScaleTop,ScaleLeft的值用于控制对象左上角坐标,所有对象的ScaleTop,ScaleLeft属性的缺省值为0,坐标原点在对象的左上角。
= N,表示将X轴向Y轴的负方向平移N个单位
ScaleTop
= -N,表示X轴向Y轴的正方向平移N个单位
同样,ScaleLeft的设置值可向左或向右平移坐标系的Y轴。
坐标系统
坐标系统
(2) 重定义坐标轴方向和度量单位
属性ScaleWidth,ScaleHeight的值可确定对象坐标系X轴与Y轴的正向及最大坐标值。缺省时其值均大于0,此时,X轴的正向向右,Y轴的正向向下。对象右下角坐标值为(ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight)。
如果ScaleWidth的值小于0,则X轴的正向向左,如果ScaleHeight的值小于0,则Y轴的正向向上。
Y
X
ScaleWidth=n
ScaleHeight=m
Scaleletf=0
ScaleTop=0
0
(n,m)
Y
X
ScaleWidth=n
ScaleHeight=-m
Scaleletf=0
ScaleTop=0
0
(n,-m)
坐标系统
将窗体的坐标系统的原点定义在其中心,X轴的正向向右,Y轴的正向向上,窗体高与宽分别为200和300单位长度。
通过ScaleTop,ScaleLeft,ScaleWidth和ScaleHeight属性实现。
= -150
= 100
= 300
= -200
(-150,100)
(150,-100)
坐标系统
(xLeft,yTop)
(xRight,yBotton)
(3) 利用Scale方法设置坐标系
[对象.]Scale[(xLeft,yTop)-(xRight,yBottom)]
对象的左上角坐标值
对象的右下角坐标值
例如, (-150,100) - (150, -100)。
可在程序中使用Scale方法改变坐标系统。当Scale方法不带参数时,取消用户定义的坐标系,采用缺省坐标系。
绘图属性与事件
一、当前坐标
CurrentX,CurrentY属性给出窗体或图形框或打印机在绘图时的当前坐标。这两个属性在设计阶段不能使用。
使用格式:
[= x]
[= y]
注意:
当使用某些图形方法后,对象的CurrentX和CurrentY的设置值将发生变化,。
以窗体中心为原心,随机向各个方向绘200条直线。