VB中如何建立自己的坐标系

来源:百度知道 编辑:UC知道 时间:2024/05/26 18:22:12
VB中的坐标原点是在左上角,我要建立一个平常的坐标,原点在左下角,x轴正向向右,y 轴正向向上,然后给出的一系列数据要能够按照这个坐标系绘图,请问怎么完成呀,请高手指教!
我自己画了一个x 轴和一个y轴,我调用dat文件里的每行数据来绘点,可是绘出来的点都不是按照这个x,y轴来画的!
Private Sub PicMidleLine(picX As PictureBox) '在图像框中画x,y轴
picX.Line (0, 0.48 * picX.ScaleHeight)-(picX.ScaleWidth, 0.48 * picX.ScaleHeight), vbGreen '画出x轴
picX.Line (0.01 * picX.ScaleWidth, picX.ScaleHeight)-(0.01 * picX.ScaleWidth, -picX.ScaleHeight), vbGreen '画出y轴

End Sub

你们的方法都不能用呢!

Private Type ZB
x As Single
y As Single
End Type

Dim P As ZB

Sub GetZB(ByVal xx As Single, ByVal yy As Single)
P.x = (Me.Width - xx - 135) / 15 '135为右边框宽度,15为每像素的Twip
P.y = (Me.Height - yy - 525) / 15 '525为下边框宽度
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Cls
Call GetZB(x, y)
Print P.x; P.y
End Sub

Form1.Scale(X1,Y1)-(X2,Y2)
其中第一个坐标为窗体左上角坐标,第二个为右下角坐标,这样就可以自定义容器坐标了
把from1换成其它的容器名也可以
From1_Load()
Me.Scale(-200,200)-(200,-200) '咱们常用的坐标系,长、宽为400,但如果不规定窗体的长宽,每一个单位的长度也是不确定的
Line(-200,0)-(200,0),rgb(255,255,255)
Line(0,200)-(0,-200),rgb(255,255,255)'画出两个坐标轴

写个函数 自己换算即可