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上画一个圆时,怎样能不覆盖背景,即只要圆的轮廓,不影响背景。谢谢各位!
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上画一个圆时,怎样能不覆盖背景,即只要圆的轮廓,不影响背景。谢谢各位!
既先画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控件比较好
begin
form1.DoubleBuffered:=true;
end;
thank you