canvas教程

用Canvas画图时为什么会闪烁,(只画一条线)

字号+ 作者:H5之家 来源:H5之家 2017-03-09 09:04 我要评论( )

php php爱好者 phpfans php教程 php入门 php源码 php动态 php基础 php进阶 php模板 php高级 smarty 数据库 mysql linux javascript ajax html css apache c c++

用Canvas画图时为什么会闪烁,(只画一条线)

设有两个按键,一个键为初始化画布,一个键按一下只画一条线,为什么画线时屏幕会闪一下,请哪位高人指点一下.
Delphi(Pascal) code

procedure TForm1.Button2Click(Sender: TObject); begin image1.Canvas.Pen.Color := clblack; image1.Canvas.Brush.Color := clblack; image1.Canvas.Rectangle(, image1.Width, image1.Height); end; procedure TForm1.Button3Click(Sender: TObject); var i:integer; Button2Click(self); image1.Canvas.Pen.Color := clred; image1.Canvas.MoveTo(); image1.Canvas.LineTo(); ; end;

昵称: weizhixun  时间: 2010-09-21 09:47:04

把窗体的DoubleBuffer设为True

昵称: SQLDebug_Fan  时间: 2010-09-21 09:55:23

Delphi(Pascal) code

昵称: JPEXE  时间: 2010-09-21 09:56:39

我拿你的运行了一下,没有出现闪烁。
是否还有别的代码?如果没有的话,我可以肯定的说,真的不闪烁啊。
要不然加一句form1.doublebuffered:=true;吧。

昵称: ecjtu5208  时间: 2010-09-21 10:00:41

看你的代码,应该不会闪。

昵称: lhylhy  时间: 2010-09-21 10:08:12

DoubleBuffer设为True 在这个小程序里问题是解决了,可主要是想应用在高速采集数据画图中.不知道是否有其它好办法?

昵称: weizhixun  时间: 2010-09-21 10:17:52

這類處理最好是建立一個內存畫布,然後將所有操作都在此畫布上進行操作,操作結束一次,一次性話到窗體畫布上,基本可以解決閃屏問題。測試每秒10次刷新的,還沒出現過問題。高了沒測試,沒項目支持,也就沒研究,可以研究下。

昵称: mysterx  时间: 2010-09-21 10:21:58

原理都是一样的,一个前景画布,一个缓冲画布,等到缓冲画布完全OK了,再覆盖前景画布。
完美解决闪烁。

昵称: ecjtu5208  时间: 2010-09-21 10:26:52

可以考虑使用delphix 使用directx技术来实现更高效率的绘图。或者试下使用gdiplus+

昵称: aawwmate  时间: 2010-09-21 10:29:48

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 用PHP将网页上的Canvas图像保存到服务器上的方法 WEB骇客

    用PHP将网页上的Canvas图像保存到服务器上的方法 WEB骇客

    2017-02-22 18:01

  • PHP源码免费下载,分享源码,网页特效,源码分享,html网页模板

    PHP源码免费下载,分享源码,网页特效,源码分享,html网页模板

    2017-02-09 08:00

  • 标签 教程 PHP100

    标签 教程 PHP100

    2017-01-31 08:05

  • Canvas Clock

    Canvas Clock

    2017-01-24 16:00

网友点评
e