基于VS2017 采用VC++作为编程工具,以MFC中的基于对话框方式作为编程框架,显示按恒速模式或按峰速下正弦模式滚动的黑白条纹。参考方案为:将像素灰度设置为0-255,设显示器上某点坐标为(x,y),若x均匀采样,则(x,yi)处的亮度值为f=int(255sin(x)),i为从0~最大显示器纵坐标分辨率。系统显示启动时,同时启动定时器,每到一个定时时间间隔T,当前(x,y)对应的灰度值向右移动一个像素,即下一列像素值变为f,依次类推。定时时间间隔T根据显示速度要求求得,如显示速度要求为v,则量出显示器宽度w,水平分辨率为dw,则w/vdw,即为每秒移动的像素数。以恒速模式或按峰速正弦模式滚动的黑白条纹速度(即v值)包括0.35、1.0m/s,速度误差范围:±5%。显示效果如图所示
是要解决什么样的问题呢?是做成这样还是去解决问题?
mfc没用过,qt倒是好实现,直接使用paint进行绘制就行
onmousedown里面开始绘制,onmousemove中异火模式绘制线段橡皮筋,onmousedown中结束绘制。绘制数据起始点坐标记录到doc的line结构的起始点中。后续可以实现平移旋转缩放也可以双击选中等操作。也可以实现右键增删改操作。删除就删掉dic中line结构重绘,修改就双击顶点拖拽更新。可以绘制一根线,按着鼠标左键绘制。抬起结束绘制。可以在线上右键选中线段,弹出菜单中选择删除,即可删除线段。