我想画y=x,y=-x的图像,代码如下Picture1.ScaleLeft = -3
Picture1.ScaleWidth = 12
Picture1.ScaleTop = 10
Picture1.ScaleHeight = -12Dim X, Y As DoubleFor X = -6 To 9 Step 0.001
Y = X
Picture1.PSet (X, Y)
Next X
For X = -6 To 9 Step 0.001
Y = -X
Picture1.PSet (X, Y)
Next X可是为什么画出来的图像,也就是两条直线看起来不垂直的呢?

解决方案 »

  1.   

    没有人回答吗?有人试过了吗?是bug吗?
      

  2.   

    办法很简单
    只要让Picture1.Width = Picture1.Height就可以啦
      

  3.   

    这样画就是垂直的
        
    Picture1.ScaleLeft = -3
        Picture1.ScaleWidth = 12
        Picture1.ScaleTop = 10
        Picture1.ScaleHeight = -12
        
        Dim X, Y As Single    For X = -6 To 9 Step 0.0001
            Y = 5
            Picture1.PSet (X, Y)
        Next X
        For Y = -6 To 12 Step 0.0001
            X = 3
            Picture1.PSet (X, Y)
        Next Y
      

  4.   

    Picture1.Height = Picture1.WidthPicture1.ScaleLeft = -3
    Picture1.ScaleWidth = 12
    Picture1.ScaleTop = 10
    Picture1.ScaleHeight = -12Dim X, Y As DoubleFor X = -6 To 9 Step 0.001
    Y = X
    Picture1.PSet (X, Y)
    Next X
    For X = -6 To 9 Step 0.001
    Y = -X
    Picture1.PSet (X, Y)
    Next X
      

  5.   

    别设定ScaleLeft 、ScaleWidth 、ScaleTop 、ScaleHeight 
    它只是设定坐标系上下限而已
    对于坐标系的纵横比是否是正常
    它不会管的还记得高中学的解析几何吗
    你自己可以用解析几何知识模拟坐标系
      

  6.   


    将Picture1的ScaleMode设为vbPixelsMidX=PictureBox.ScaleWidth/2
    MidY=PictureBox.ScaleHeight/2W=PictureBox.ScaleWidth/2'y=x
    For I=-W To W
    X=I
    Y=X
    Picture1.PSet (X, Y)
    Next I
    'y=-x
    For I=-W To W
    X=I
    Y=-X
    Picture1.PSet (X, Y)
    Next I