中易网

【MFC绘制波形】关于鸡啄米大大的画笔教程

答案:1  悬赏:20  
解决时间 2021-01-15 23:49
  • 提问者网友:战魂
  • 2021-01-15 13:48
【MFC绘制波形】关于鸡啄米大大的画笔教程
最佳答案
  • 二级知识专家网友:duile
  • 2021-01-15 14:43
首先程序使用了m_nzValues这个数组来存储波形数据,把这个数组想象成从左向右依次排列的一串数(左端为m_nzValues[0]),这串数与画面上从左向右的波形依次对应。这种对应关系在DrawWave函数中可以看到
然后看OnTimer函数中,
m_nzValues[POINT_COUNT-1] = rand() % 80;
新生成的波形数据是添加在了数组的末尾,即数组的“右侧”,也即图像的右侧,而其余数组则顺次“左移”( for (int i=0; i===
每次DrawWave,确实都会填充背景抹掉之前的绘图,接下来的for(...)则是把波形从头到尾地再画一遍——这个叫做”波形的一帧“,反复的DrawWave呈现的所有”帧“连贯起来就是你所看见的波形动画。
===
总之,DrawWave函数本身的功能仅仅是把m_nzValues数组的所有数值呈现在屏幕上,而使这波形图像动起来的,并不是DrawWave函数,而是OnTimer里不断对m_nzValues进行的有规律的操作(不断插入数据并移动数据)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息