如何在坐标系统变化的情况下始终保持文字说明在固定位置不变
编号:QA003850
建立日期: 2001年2月6日 最后修改日期:2001年2月6日
所属类别:
WENG:
操作系统: WIN98
编程工具: vb6
问题: 我想在picturebox控件中的左半部分用line方法画图,在右半部分对图形进行说明(如比例尺、面积等)。每画一个图时,各组(X、Y)的值均不同,为使图形整体在左半部分居中,都要用scale方法重新定义坐标系统,这样,文字说明部分的位置也随之变化。请问该如何在坐标系统变化的情况下始终保持文字说明在固定位置不变?不胜感谢!
回答:
你有两个办法:
1、不使用Scale方法定义坐标系统,自己计算放大/缩小因子。因为不使用Scale方法。你的文字的坐标每次都一样。而图形部分可以这样处理。加入你的图形的实际X、Y坐标是(0, XMAX)和(0, YMAX),而现在你要把它绘制在(0,0)-(ScaleWidth/2, ScaleHeight)。那么对应的X、Y的因子为ScaleWidth/(2*XMAX)和ScaleHeight/YMAX。这样,你只要把计算出来的(x, y)乘以相应的因子,然后按得到的坐标绘制就可以了。
2、使用Scale方法定义坐标系统。你需要使用类似上面的方法计算从原来的坐标到新的坐标系的变换因子就可以了。
此问题由李海回答。
| |
|
|
| |
|
|