如何解决在Timage中连续绘制图形的闪烁问题(救急)

reinbow 2003-10-19 08:20:05
我这个程序的目的是:通过数学模型的计算,在Timage控件中连续绘制不同时刻的画面,从而达到动态演示的效果。画面主要由三部分组成:波浪、泥沙、大圆筒。波浪运动会推动大圆筒以底部为轴,左右摆动。(大圆筒是埋在海里的,顶部露出海面。泥沙不变化)我主要通过下面的方法实现的:首先计算出某一时刻大圆筒和波浪的位置,首先绘制白色的背景,然后用lineto绘制波浪,再用Polygon绘制大圆筒,用Rectangle绘制泥沙。如此,在Timer控件中重复以上过程,达到动态演示的目的。但是画面闪烁的很厉害,请问如何解决次问题?
我考虑后认为不是因为计算过程占用过多时间造成的,因为计算不是很复杂。请指教。
...全文
88 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jpyc 2003-10-21
  • 打赏
  • 举报
回复
参考:

http://218.56.11.178:8020/web/index.aspx

-》 软件基地 -》源码-》delphi/kylix->让图象平滑移动无闪烁感
liuziran 2003-10-19
  • 打赏
  • 举报
回复
很显然,需要使用双缓冲,在内存中画好了在显示出来
要不然边画边刷新,当然会很闪
pankun 2003-10-19
  • 打赏
  • 举报
回复
在TPaintBox上画吧,不会出现这种问题的.
xdljf 2003-10-19
  • 打赏
  • 举报
回复
闪烁问题这一点好像是Delphi的Canvas无法克服的一个缺点,在PaintBox上绘图效果会好一点儿,最好能用vc作一个控件,效果就更好了。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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