Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9548804
  • 博文数量: 1227
  • 博客积分: 10026
  • 博客等级: 上将
  • 技术积分: 20273
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-16 12:40
文章分类

全部博文(1227)

文章存档

2010年(1)

2008年(1226)

我的朋友

分类: C/C++

2008-04-23 21:50:31

显示波形的控件

作者:




一.前言:

  随着科技的发展,数字信号处理频繁的应用于各个领域,通过对数字信号进行傅里叶变换,可以得到它的幅频特性,通过滤波,可以得到我们想要得到的有用信号。

二.说明:

  本文将简单的介绍一下信号波形的显示问题。大家一定会想到第30期有一个“曲线显示控件”这篇文章,没错,我当时看到这篇文章也觉得程序做得非常好,可惜控件没有源码,只提供了lib文件,于是我通过查找资料,也做了一个类似的程序。好了,还是看看我们的程序吧。

三.显示波形的界面:


 

  1. 单击下面的三个方框,可以显示或隐藏上面坐标系中相应的波形。
  2. 当鼠标移动到坐标系中时,鼠标旁边的方框中可以动态的显示坐标的位置。
  3. 程序还可以将波形图保存为位图格式的文件,将鼠标移出坐标系并双击,即弹出保存文件的对话框。
  4. 至于改变曲线的颜色、宽度等等都比较简单,程序中就没有实现。

四、结束语:

  1. 当鼠标在坐标系中移动时,由于不断的要刷新坐标系中连接鼠标坐标的两条直线,为了避免闪烁,采用了双缓存技术(具体看源码)。
  2. 存在的问题:随着鼠标的移动,显示坐标的方框在移动的过程中不流畅,这是由于程序要不断的更新方框,相当于对图像不停得进行操作,对图像的操作是很费cpu的,所以不流畅。另外我认为,一般不提倡这种做法,除非在很需要的时候。比如在这个程序中,我们可以在控件下面找一个地方专门用来显示坐标,而不必随鼠标移动方框。(我是为了模仿第30期的那个程序才这样做的)
阅读(319) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~