如何解决多线绘制闪烁的问题?

chenzhixin 2009-04-22 11:12:21
我记录了画线的重要点,然后重画的时候需要重绘所有的线,可是会有些闪烁,感觉到后面的线画起来就有延时,
如何解决啊,我的需求是在一视频上绘制很多类型的图形,比如直线,多边形,椭圆,图片,文本,能够移动这些元素。
我建立1个图层类TTCCanvas,然后TTCGraph为图形基类,派生TTCGraphLine,TTCGraphPolygon,TTCGraphEllipse,
所有的图形都画在Canvas上,我想在Canvas上建立1个内存DC,图形都画在一个透明的CBitmap上,这样线条都在BITMAP上,
不知道画透明位图到DC上会不会效率高些。

哪位大哥做过类似的东西,还望多指导下
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhixin 2009-04-23
  • 打赏
  • 举报
回复
能够窗口倒是能实现无闪烁,但是我每次画线移动鼠标的时候,都需要重新BitBlt所有的区域,这样造成比较闪
了,效率低下,最好的办法应该是我画个图形就只要更新下这个区域,这个该如何解决,还有如何处理颜色掩码,我使用
pdc->SetBkColor(RGB(0,0,0));
pdc->BitBlt(rect.left,rect.top,rect.Width(),rect.Height(),
GetMemDC(),rect.left,rect.top,SRCCOPY);
这样子画透明,没发现有啥效率提高的
Hiiishe 2009-04-22
  • 打赏
  • 举报
回复
放心,这样可以解决闪烁问题的。唯一要的是处理颜色掩码作为透明色贴上去就行了
songsu 2009-04-22
  • 打赏
  • 举报
回复
在 http://topic.csdn.net/u/20090421/16/6c2ed0e1-2746-478c-9384-6310fd6727fd.html 取得一份源码。

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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