J
jaysuper
Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个透明的Timage的Canvas上画了一些线条图形,再次画时我需要清除以前的图形请问高手该如何做?我建立一个临时的img :TIamge 然后用Canvas.copyRect(rc,img.canvas,rc) 的方法的得到了清除的效果,但是再画时就画不上了,请问是什么原因?清除函数的代码如下:
img := TImage.Create(nil);
try
img.Transparent := true;
img.Width := FNJMap.Width;
Img.Height := fNJMap.Height;
img.Left := FNJMap.Left;
img.Top := FNJMap.Top;
rc.Left := img.Left ;
rc.Top := img.Top;
rc.Right := Img.Left +Img.Width;
rc.Bottom := img.Top + img.Height;
FNJMap.Canvas.CopyRect(rc,img.Canvas,rc);
finally
img.Free;
end;
img := TImage.Create(nil);
try
img.Transparent := true;
img.Width := FNJMap.Width;
Img.Height := fNJMap.Height;
img.Left := FNJMap.Left;
img.Top := FNJMap.Top;
rc.Left := img.Left ;
rc.Top := img.Top;
rc.Right := Img.Left +Img.Width;
rc.Bottom := img.Top + img.Height;
FNJMap.Canvas.CopyRect(rc,img.Canvas,rc);
finally
img.Free;
end;