有空研究了下參數化均衡器,使用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,設計一定的數據結構,就可以實現上面點的拖動效果。