| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5660 人关注过本帖
标题:[求助]请教如何将IMAGE.CANVAS画布上的东西一次性清除掉
只看楼主 加入收藏
nantiangumo
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-6-14
收藏
 问题点数:0 回复次数:3 
[求助]请教如何将IMAGE.CANVAS画布上的东西一次性清除掉
form1.Image1.Canvas.FloodFill(520,300,clYellow,fsBorder); //这行可以画布以前的东西清除干净
form1.Image1.Canvas.Font.Color := clYellow;
form1.Image1.Canvas.Font.Size := 18;
form1.Image1.Canvas.TextOut(100,130,'MCU Chip Erasing ......');
Sleep(2000);
// ChipErase();
form1.Image1.Canvas.FloodFill(520,300,clYellow,fsBorder); //但在这行清除不掉前两行输出的'MCU Chip Erasing ......'
form1.Image1.Canvas.TextOut(120,130,'MCU Chip Erased !'); //这行只是覆盖上一行打印的字符串的中间一部分


请问用什么函数来清除画布上的东西,然后FLOODFILL是什么函数?
谢谢赐教!
搜索更多相关主题的帖子: CANVAS IMAGE 画布 请教 
2007-07-12 01:42
nantiangumo
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-6-14
收藏
得分:0 
补充:为什么前后两行几乎同时打印到画布,Sleep(2000)根本起不到延时作用。
2007-07-12 01:44
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 

se FloodFill to fill a possibly non-rectangular region of the image with the value of Brush.

fsSurface Fill all area that has the color indicated by the Color parameter. Stop when another color is encountered.
fsBorder Fill all area that does not have the color indicated by the Color parameter. Stop when Color is encountered.

2007-07-12 11:20
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 

procedure cleanCurCanvas();

begin
with image1.Canvas do
begin
Brush.Style := bsSolid;
brush.color := clWhite;
FillRect(ClientRect);
end;

end;

直接在这里写的,没编译过,你可以试下行不行

[此贴子已经被作者于2007-7-12 11:26:39编辑过]

2007-07-12 11:25
快速回复:[求助]请教如何将IMAGE.CANVAS画布上的东西一次性清除掉
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015582 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved