我用picSheet.Scale (0, 200)-(100, -200)自己定义坐标,用Line划线时,是自己设定的坐标。但是用LineTo和MoveToEx划线时,自己定义的坐标却没用,为什么,谢谢了先
picSheet.Scale (0, 200)-(100, -200)
vDRP = MoveToEx(picSheet.hdc, xData(MAX), yData(MAX), vPt)
vDRP = LineTo(picSheet.hdc, xData(MAX + 1), yData(MAX + 1))
这里X和Y都存储在数组xData和yData中,这2个坐标能统一么,谢谢了先!
picSheet.Scale (0, 200)-(100, -200)
vDRP = MoveToEx(picSheet.hdc, xData(MAX), yData(MAX), vPt)
vDRP = LineTo(picSheet.hdc, xData(MAX + 1), yData(MAX + 1))
这里X和Y都存储在数组xData和yData中,这2个坐标能统一么,谢谢了先!
解决方案 »
- 用print输出文本,数据类型为single,输出后如何去掉前面的占位符
- VB 类模块的问题,高手请指教,在线等!
- VB连接远程数据库SQL SERVER 连接不上
- 如何获取拖盘图标的位置?
- 有关对磁盘的操作,插入磁盘响应自定义一个事件!!!进来讨论讨论吧!!
- 网格合计行总是在当前界面的最后行显示,该如何实现?
- 有关打包后98机上数据库无法打开!
- VB6或者dotNet有没有什么控件能做甘特图(Gantt)的?
- 运行VB程序的时候产生许多Tmp,怎样删除
- HTML Heple WORK...的使用方法??????
- 为什么找不到microsoft data bound grid control
- 100分求:vb调用存储过程,并将其封装成dll,然后在asp页面中调用
举个例子:
假设你的PICTURE画板的尺寸为400X300像素(即 0-399, 0-299)而你的数据来源是一千个范围在-100到5000的浮点数.
那怎么处理呢?
假设你是想横向将这一千个点画出一个曲线图.
首先无论你用哪种自定义坐标,一千个点都是不可能在宽度为400的画板上全部显示出来的.
那也很简单,你只能加上一个比例, 1000/400=2.5 ,也就是说你X方向要缩小2.5倍,
而Y方向,你的数据范围是 5100,画板高300, 5100/300=17,也就是Y方向缩小17倍
倍率有了,就可以预处理数据了
假设你1000个数据放在数组A里面
处理后的数据放到B数组里:CONST XRATIO=2.5
CONST YRATIO=17
DIM I AS LONG
DIM X AS LONG
DIM Y AS LONG
DIM B(399) AS LONG
FOR I=0 TO 999
X=I * XRATIO
Y=(A(I) + 100) * YRATIO
B(X)= 299 - Y
NEXT好了,一千个从-100到50000的数据已经转化成了400个0到299的数据了,你可以直接用API画到你的PICTURE上面去了.
不难吧.