窗体闪动的问题。(50分)

  • 主题发起人 主题发起人 DieGhost
  • 开始时间 开始时间
D

DieGhost

Unregistered / Unconfirmed
GUEST, unregistred user!
窗体上就一个image控件,我在image上进行贴图,发现窗体会闪动。请教如何解决闪动问题
 
给出点代码瞧一瞧
 
image1.Canvas.copyrect(rect(0,0,100,10),image2.Picture.Bitmap.Canvas,rect(0,0,20,2));

把image2的贴到image1会出现闪动
 
会报"Can't modify..."的错误
不知道你是怎么通过的。
如果没有Picture,则不会闪动
 
怎么会报错?
都要用bmp文件
 
form1.DoubleBuffered := true;
或者
image1.Canvas.Lock;
image1.Canvas.Unlock;
你试试吧!
 
TImage的好处是会记住之前的操作,但操作频率时就是会闪动,就是Lock也不行(我以前看过TImage的源码,但不知有没有记错)。推荐的方法是在内存中创建一个TBitmap作缓冲,在TBitmap中进行操作,最后才将TBitmap画到窗口上。
 
多人接受答案了。
 
后退
顶部