VB中如何建立自己的坐标系 10
VB中的坐标原点是在左上角,我要建立一个平常的坐标,原点在左下角,x轴正向向右,y轴正向向上,然后给出的一系列数据要能够按照这个坐标系绘图,请问怎么完成呀,请高手指教!我...
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
你们的方法都不能用呢! 展开
我自己画了一个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
你们的方法都不能用呢! 展开
展开全部
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)'画出两个坐标轴
其中第一个坐标为窗体左上角坐标,第二个为右下角坐标,这样就可以自定义容器坐标了
把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)'画出两个坐标轴
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写个函数 自己换算即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询