有空研究了下参数化均衡器,使用MFC做了个小均衡器软件,EQ曲线部分画图如下:
主要算法就是滤波器,绘制的曲线是滤波器的频响。
1、横轴是从10Hz到24KHz,但不是10Hz到24KHz线性增加的,而是以log10(freq)线性增加的。纵轴就是dB增益值。
整个图就等于是bode图中取了幅频部分。
2、算法参考了这篇文档。https://blog.csdn.net/hunterhuang2013/article/details/64443718
3、坐标轴绘制参考了这篇文档。https://blog.csdn.net/zhongruichun/article/details/88656273
4、实现半透明画刷参考了这篇文档。https://blog.csdn.net/qq_23992597/article/details/51219860
参考其中方法2,使用GDI+的Graphic接口。
5、整个显示区重画了一个CStatic,响应LButtonDown、LButtonUp、MouseMove,设计一定的数据结构,就可以实现上面点的拖动效果。