第15节 关于描点画图

 

容器中的坐标系:(三要素:原点、单位、方向)

原点:默认左上角。单位:Twip缺省值。方向:X轴向右、Y轴向下。

自定义坐标系:

  对象的坐标系允许用户自行定义,一般通过对象的ScaleTop、ScaleLeft、ScaleWidth和ScaleHeight 四项属性来改变容器对象的坐标系。

定义坐标原点:

  当ScaleTop为-n时,表示将坐标系的X轴向Y轴正方向平移n个单位

  当ScaleTop为n时,表示将坐标系的X轴向Y轴负方向平移n个单位。

  当ScaleLeft为-n时,表示将坐标系的Y轴向X轴正方向平移n个单位。

  当ScaleLeft为n时,表示将坐标系的Y轴向X轴负方向平移n个单位。

定义坐标方向:

  当ScaleWidth>0,x轴的正方向向右。

  当ScaleWidth<0,x轴的正方向向左。

  当ScaleHeight<0,y轴的正方向向上。

  当ScaleHeight>0,y轴的正方向向下。

定义坐标系:

  Scale(x1,y1)-(x2,y2)

度量单位:

     X轴的度量单位为:1/ScaleWidth;Y轴的度量单位为:1/ScaleHeight。

绘图的有关属性:

  1、线宽DrawWidth属性

  2、线型DrawStyle属性

  3、边框BorderStyle属性

  4、填充FillStyle和Fillcolor属性

  5、前景ForeColor属性

  6、RGB函数 RGB(红,绿,蓝)0—255大于255按255处理。

 

Rem 画x轴

Private Sub Form_Click()

ScaleTop = -Height / 2     x轴向y轴的正方向移动窗体高的一半

    y = 0

    For x = 0 To Form1.Width

       PSet (x, y)

    Next

End Sub

 

Rem 画y轴

Private Sub Form_Click()

    ScaleLeft = -Width / 2     y轴向x轴的正方向移动窗体宽的一半

    x = 0

    For y = 0 To Form1.Height

       PSet (x, y)

    Next

End Sub

 

Rem 在坐标系中画一条y = x的直线:

Private Sub Form_Click()

    Form1.ScaleWidth = 500        'x轴正向向右,宽为500

    Form1.ScaleHeight = -500      'y轴正向向上,高为500

    Form1.ScaleTop = 250          'y轴沿x轴正向移动250

    Form1.ScaleLeft = -250        'x轴沿y轴正向移动250

    Line (0, -250)-(0, 250)       'y轴

    Line (-250, 0)-(250, 0)       'x轴

    For x = -250 To 250

        y = x

        PSet (x, y)

    Next

End Sub

 

Rem  在坐标系中画y= Sin(x)函数曲线 

Private Sub Form_Click()

    Const pi As Single = 3.1415926

    Form1.ScaleWidth = 2 * pi: Form1.ScaleHeight = -2

    Form1.ScaleTop = 1: Form1.ScaleLeft = -pi

    Line (0, -1)-(0, 1): Line (-pi, 0)-(pi, 0)

    DrawWidth = 1

    For x = -pi To pi Step 0.01

        y = Sin(x)

        PSet (x, y), &HFF00FF

    Next

End Sub