清空画布的内容

dengdaijiejue 2006-08-10 03:30:52
Image1.Canvas.TextOut(0, 0, 'aaaaa');
以后,如何把画布内容清空
...全文
529 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
e_feeling 2006-09-30
  • 打赏
  • 举报
回复
up
BlueDeepOcean 2006-09-25
  • 打赏
  • 举报
回复
清空只需要这一句即可:
Canvas.FillRect(Image1.ClientRect);
zhaogang 2006-09-22
  • 打赏
  • 举报
回复
画布内容全清
必须Image1.Canvas.Brush.Style := bsSolid;

var
RC: TRect;
begin
GetClipBox(Image1.Canvas.Handle, RC);
InvalidateRect(Image1.Canvas.Handle, @RC, True);
Image1.Canvas.FillRect(RC);

如果只请局部
RC的Top、Left、Bottom、Right就要赋值,并且不要 GetClipBox(Image1.Canvas.Handle, RC); 这句
andylee245 2006-09-22
  • 打赏
  • 举报
回复
画布内容全清
必须Image1.Canvas.Brush.Style := bsSolid;

var
RC: TRect;
begin
GetClipBox(Image1.Canvas.Handle, RC);
InvalidateRect(Image1.Canvas.Handle, @RC, True);
Image1.Canvas.FillRect(RC);

如果只请局部
RC的Top、Left、Bottom、Right就要赋值,并且不要 GetClipBox(Image1.Canvas.Handle, RC); 这句

不错,高手。
程序x人生 2006-09-20
  • 打赏
  • 举报
回复
用透明色擦掉原来的(设计时Image的brush的颜色即透明色)即可
with Image1 do
begin
Canvas.Brush.Color := TransColor;
Canvas.FillRect( Rect( 0, 0, Width, Height ) ); //用透明色擦掉原来的
...
end;
zzwu 2006-08-18
  • 打赏
  • 举报
回复
那么我来抢几分:


image1.Canvas.Brush.Color:=clBlack;
image1.Canvas.Rectangle(x1,y1,x2,y2);
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.TextOut(x3,y3,'1');

之前,必须设定

image1.Canvas.Brush.style:=bsSolid;

否则不能肯定是填充或均匀填充.

OO_is_just_P 2006-08-15
  • 打赏
  • 举报
回复
我也不抢了
wudi_1982 2006-08-10
  • 打赏
  • 举报
回复
20分。。算了。。不抢了。
SmallMaker 2006-08-10
  • 打赏
  • 举报
回复
image1.Canvas.Brush.Color:=clBlack;
image1.Canvas.Rectangle(x1,y1,x2,y2);
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.TextOut(x3,y3,'1');

dengdaijiejue 2006-08-10
  • 打赏
  • 举报
回复
谢谢,我现在要实现点按钮1,画布显示1,点按钮2,画布显示2,以此类推,可是每次数字都叠加到一起了。
GARNETT2183 2006-08-10
  • 打赏
  • 举报
回复
Image1.Canvas.TextOut(0, 0, 'aaaaa');

清空:
Image1.Canvas.Font.Color := Image1.Canvas.Brush.Color;
Image1.Canvas.TextOut(0,0,'aaaaa');

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧