如何解决绘图时的闪烁问题??

hadrons 2000-09-06 07:53:00
我在让图象在屏幕上移动时,用xor方法,但是会出现闪烁?如何避免,我用其他的方法来实现,图象的移动?
...全文
228 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Areslee 2000-09-07
  • 打赏
  • 举报
回复
PAINTSTRUCT ps;

HDC dc=BeginPaint(hWnd,&ps);
HDC h1=CreateCompatibleDC(dc);

然后在h1上画图,画完后再拷贝到dc上去。注意在画完后要删除h1和dc,还有:这段程序只能放在WM_PAINT消息的处理函数中。
jiajite 2000-09-06
  • 打赏
  • 举报
回复
你是用SDK编程的话,登记你想在其中绘图的窗口类的画刷为空画刷。
boyhill 2000-09-06
  • 打赏
  • 举报
回复
建一后屏buffer,在后屏画完后,

在拷贝到屏幕DC上,这样才不能闪烁!
Areslee 2000-09-06
  • 打赏
  • 举报
回复
强烈建议不要在屏幕DC上用XOR方法,你可以先在内存DC中进行动画处理,然后再拷贝到屏幕DC上,这样可以大大减少闪烁。
hadrons 2000-09-06
  • 打赏
  • 举报
回复
谢谢大家:
只是我是生手,不知道该如何在内存建buffer,进行图形处理,各位能否指点一二?
btw空画刷是如何标志的?我很菜,可是我很努力!
U皮特U 2000-09-06
  • 打赏
  • 举报
回复
这些封装在CDC类中的成员函数都有相应的SDK函数,查一下MSDN就知道了,一般都只是加一个HDC参数。
hadrons 2000-09-06
  • 打赏
  • 举报
回复
要是用SDK编程呢?我该怎么办??
U皮特U 2000-09-06
  • 打赏
  • 举报
回复
创建一个内存DC,在此DC中进行绘制工作,然后再Bitblt到屏幕DC中
CClientDC dc(this);
CDC memDC;
memDC.CreateCompatibleDC(dc);

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧