画波形图时如何实现800个像素表示10000个点的值? 本人用FormView视图中的静态控件内绘制波形图,静态控件宽度为800像素,但是点数在500到10000之间变化(即点数可以为500、1000、1500……),如何实现啊?本人只用过最多一个像素表示一个点的值,这么密集点的表示应该用什么方法啊?编程使用VC6下的MFC实现的希望高手指导,不胜感激! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置一个步长,动态调整。比如设置X方向的步长为double Xratio,X方向为double Yratio当X方向有10000个点的话,Xratio = 10000/800Yratio是用来调整Y方向的比例的,比如你的窗口高度为600,而数据的值可能大于600,那么就要用这个比例来调整了。比如数据的值最大为1000,Yratio = 1000/600取X方向从1到800循环,for(i=1;i<=800;i++){ X = int( i * Xratio) ; Y = int(RawData(X) * Yratio); //然后在坐标(i,Y)处画点 ... }楼主明白了么 坐标变换到逻辑坐标下CDC* pDc;pDC->SetMapMode(MM_ANISOTROPIC); 关于添加记录对话框的问题! 请问如何才能获取网页里applet中的数据? 位图位数据的请教与讨论 如何将一个非模式Dialog控制在其父窗口内 一个很奇怪的编译出错的问题,请教各位高手! 如何使用Http协议上传文件 installshield如何指定安装路径? 问一个关于堆栈的问题 MFC如何使光标准确地定位到文本末尾? 求助,关于activex控件的属性持续性 如何在SDI的FormView视图中刷新视图,恢复视图控件的默认选择? 只在对话框的右上角显示“最小化”和“关闭”按钮
比如设置X方向的步长为double Xratio,X方向为double Yratio
当X方向有10000个点的话,Xratio = 10000/800Yratio是用来调整Y方向的比例的,比如你的窗口高度为600,而数据的值可能大于600,那么就要用这个比例来调整了。
比如数据的值最大为1000,Yratio = 1000/600取X方向从1到800循环,
for(i=1;i<=800;i++){
X = int( i * Xratio) ;
Y = int(RawData(X) * Yratio);
//然后在坐标(i,Y)处画点
...
}楼主明白了么
CDC* pDc;
pDC->SetMapMode(MM_ANISOTROPIC);