用scanline处理, 要流畅也很简单, 只要在一次WM_PAINT事件完成即可. 实现方法就是设置一
个变量指示是否已经开始淡入淡出(信号灯), 在第一次WM_PAINT消息时置信号灯, 以后收到的
WM_PAINT什么都不做直接置result=0返回即可(另需同时截掉WM_ERASEBKGND消息)
用缓冲技术先分别保存背景和前景, 速度慢而出现闪烁的原因并不是因为paint的速度慢, 而在于
scanline运算上, 所以只要用multithread技术在第一次paint同时先处理好下次要显示的新
的图象即可.
淡入淡出其实只要递减前景显示颜色的百分比:
前景r*百分比+背景r*(1-百分比)
前景g*百分比+背景g*(1-百分比)
前景b*百分比+背景b*(1-百分比)
其实用scanline在pf24bit(真彩)方式下的代码最简单