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