关于MFC画波形的问题

qqluohao1234 2014-05-06 02:34:55
我有7500个点 也就是value[7500]这个数组需要描绘
但用lineto的时候发现里面的定义是int型所以导致这句话存在问题

MoveToEx(hdc,100,400-valuef[1]/10,NULL);
LineTo(hdc,100+i/30,400-value[i+1]/10);

我的理解就是用电脑上的像素来描绘点 而横坐标需要7500个 但是电脑的像素也没那么多啊 所以问下有没有比较好的算法或者是其他东西来画这个 本人小白 说的比较简单 希望大家能明白我的疑惑 所以在线求解答~!

...全文
247 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiter 2014-05-08
  • 打赏
  • 举报
回复
出错的代码,错误信息发上来看看啊
让菜鸟飞 2014-05-07
  • 打赏
  • 举报
回复
引用 8 楼 qqluohao1234 的回复:
[quote=引用 6 楼 sld30976746 的回复:] 在屏幕上画肯定会降低精度的,所以要有缩放功能
感觉还是缩放比较好啊 我比较笨 求指导下[/quote] 首先你的显示器是有分辨率的,所以无论你计算的再精确,画到你的显示器上也就不精确了。所以用lineto肯定没有问题。 比如现在你已经画出了X:[0,10000],Y:[0,10000]的图像,可能在你的显示器上1个像素代表10个值。 这时你想查看坐标范围在X:[100,200],Y:[100,200]范围的图像,你重新设置一下画图的坐标范围,然后要按照你新设置的范围进行画图。 不知道你是什么水平,所以不清楚应该讲到什么程度。
qqluohao1234 2014-05-06
  • 打赏
  • 举报
回复
引用 6 楼 sld30976746 的回复:
在屏幕上画肯定会降低精度的,所以要有缩放功能
感觉还是缩放比较好啊 我比较笨 求指导下
meadow 2014-05-06
  • 打赏
  • 举报
回复
引用 5 楼 longvipp 的回复:
[quote=引用 3 楼 qqluohao1234 的回复:] [quote=引用 2 楼 worldy 的回复:] 这个得看你决策啊,你可以进行x轴压缩或者分区显示
x轴压缩的话会影响精度吧? 所以我想问下有什么好的算法[/quote] 你要显示的东西是给人看的,要什么精度啊,你存储的7500点数据不要丢了就行[/quote] 你要完全显示的话用二楼说的分区显示,加一个scrollbar
让菜鸟飞 2014-05-06
  • 打赏
  • 举报
回复
在屏幕上画肯定会降低精度的,所以要有缩放功能
meadow 2014-05-06
  • 打赏
  • 举报
回复
引用 3 楼 qqluohao1234 的回复:
[quote=引用 2 楼 worldy 的回复:] 这个得看你决策啊,你可以进行x轴压缩或者分区显示
x轴压缩的话会影响精度吧? 所以我想问下有什么好的算法[/quote] 你要显示的东西是给人看的,要什么精度啊,你存储的7500点数据不要丢了就行
qqluohao1234 2014-05-06
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
不是valuef[1]/10 已经除10了吗
我除10是因为我的数据比较大 所以减小在Y轴的比例
qqluohao1234 2014-05-06
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
这个得看你决策啊,你可以进行x轴压缩或者分区显示
x轴压缩的话会影响精度吧? 所以我想问下有什么好的算法
worldy 2014-05-06
  • 打赏
  • 举报
回复
这个得看你决策啊,你可以进行x轴压缩或者分区显示
schlafenhamster 2014-05-06
  • 打赏
  • 举报
回复
不是valuef[1]/10 已经除10了吗

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧