我想在位图中实现一个动画的多边形,
我的方法是:在不同位置画多边形,并且擦除先前的多边形同时重新BitBlt位图。
这样虽然可以实现动画的目的,但效果不好,多边形总是有闪烁。
大家有什么好的解决方法吗?谢谢!分不够再加!

解决方案 »

  1.   

    在位图上以异或的方式绘制和擦除多边形,而不用每次都BitBlt位图。用SetROP2()函数设置绘图模式,详细请参考MSDN。
      

  2.   

    提个思路:
    你可以创建两个设备场境,把绘图工作在内存中完成
    然后再把绘制完的图形用BitBlt函数拷贝到显示器设备场境中
    这样就不会有闪烁了!呵呵。祝你成功!
      

  3.   

    up不动了吧?我再帮你up,嘿嘿
    (建议你去看一下《windows程序设计(第五版)》,好象是这个吧,我当时也只大致翻了一下,上面有一些方法可以慢慢看,另外在directx中编程中好象应用得非常广,你也可以去找一下相关的资料,俺没做过这方面的东东,比较忙,也没去试过,给你提供点信息^_^)
      

  4.   

    创建一幅位图,选到内存设备环境,每个循环在内存设备环境上重绘背景,绘制多边形,然后BitBlt到窗口上。That's it。不要用什么异或。
      

  5.   

    用双缓冲,参考
    http://expert.csdn.net/Expert/topic/1483/1483151.xml?temp=.4608728