我现在也在做这个,不过差不多完成,我是自己实现的。直接根据实际采样点转化为屏幕上的像素,利用LineTo、MoveTo函数实现的
当然可以,你留个邮箱,我给你发些资料,是我当时做的时候收集的,你自己看看就会了~
[quote=引用 6 楼 tlmu608 的回复:] http://blog.csdn.net/tlmu608/article/details/37575841
http://blog.csdn.net/tlmu608/article/details/37575841
TChart8开发套件
不要贴图,那样的话:背景坐标轴与动态数值点是两张皮,很难看。 不考虑缩放的话直接画即可。 1.定义两个容器vector,一个压入转速值,一个压入时间(实际上用点数代替即可不必矫情时间t); 2.为了保证绘图效率,自定义一个消息响应函数,每接收到一个串口数据时,发消息,通知消息响应函数只绘制最近接收到的一个点就行,不要Invalidate()整个窗口(那样会越画越慢,明白?就用MoveTo()/LineTo()就行,或者GDI+也可以); 3.当拖动窗口或者曲线到达右边界时,vector.Clear()并且在OnPait()或者OnDraw()函数里面for循环绘制整个容器数据; 4.在OnPait()或者OnDraw()函数里面,使用MoveTo()/LineTo()或者GDI+画坐标轴; 哥已经给你做完了。
后为什么不直接用现成的tchart之类的图表工具要用PIcture控件呢?
15,979
社区成员
115,896
社区内容
加载中
试试用AI创作助手写篇文章吧