画线问题(20分)

  • 主题发起人 主题发起人 HuangRenGX
  • 开始时间 开始时间
H

HuangRenGX

Unregistered / Unconfirmed
GUEST, unregistred user!
我发现,在TLabel上的画布画线,任何东西在上面一晃,就把线给擦掉了,在 TImage 的画布上画的线好一点,但添加图片以后特别慢,且闪烁得特别厉害.如何解决
 
你可以自己重新写paint的过程
 
这是因为Canvas会自动刷新。我只知道原因,但未探究过解决的办法。楼上的仁兄能否说的详细些。
 
最近找到了解决的办法,看看低下控件有没有DoubleBuffer这个属性,将他设为True就可以。这样就不会闪动了。要不然不Label或Image放到Panel上,Panel有这个属性。
 
TLabel上的画布是TControlCanvas,只能画,不能保存,像PaintBox一样。
TImage 的画布是Bitmap的canvas,能保存。
防止闪烁有两种方法:
(1)将Image放在TWinControl上,将TWinControl.DoubleBuffer :=True;
但这样一来对速度影响较大。
(2)自己做双缓冲,用一个临时Bitmap,将图像先画在临时Bitmap上,然后拷贝到你要显示的画布上。
 
谢谢!!!
 
后退
顶部