newBmp, oldBmp:TBitmap;
oldBmp保存原始位图按下Button1时执行如下代码:
newBmp.Assign(oldBmp);
with newBmp.canvas do
begin
  在其上画一些图形....
end;
TImage1.picture.bitmap.assign(newBmp);按下button2时:
TImage1.picture.bitmap.assign(oldBmp);反复按button1和button2会出现闪烁,怎样解决?另一问题:
在上面newBmp上画一个圆时,怎样能不覆盖背景,即只要圆的轮廓,不影响背景。谢谢各位!

解决方案 »

  1.   

    钱一个问题:我也遇到过,需要缓冲一下
    既先画Image1,然后Assign到Image2,
    也就是Image1是不可见的(作为后置缓冲区),在其上画图,
    画晚了就整个Copy到Image2.
    后一个问题也如上课解决,但要设置一下Brushwith Image1 do begin
        Canvas.Brush.Color := clRed;
        Canvas.Brush.Style := bsClear;
        Canvas.Ellipse(0, 0, 199, 122);
      end;有一个Graphic32控件比较好
      

  2.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    form1.DoubleBuffered:=true;
    end;
      

  3.   

    let me try
    thank you