Text 在处理中,哪种方法是删除以前文本的最快方法

Text 在处理中,哪种方法是删除以前文本的最快方法,text,processing,erase,Text,Processing,Erase,我试图用背景颜色重写文本,但旧文本的边缘(轮廓)仍保留在屏幕上。我不知道为什么。你能帮帮我吗 background(-1); noLoop(); 填充(#500F0F); 文本(“99”、300、200); 填充(-1); 文本(“99”、300、200); 以后,请尝试发布一篇文章。你文章中的代码将文本完全从屏幕上移开,这让我想知道你真正的代码还有什么不同。您正在使用draw()函数吗?请通过发布MCVE来避免这些不确定性 不管怎么说,你的基本问题是由。默认情况下,处理使用抗锯齿使图形看起来

我试图用背景颜色重写文本,但旧文本的边缘(轮廓)仍保留在屏幕上。我不知道为什么。你能帮帮我吗

background(-1);
noLoop();
填充(#500F0F);
文本(“99”、300、200);
填充(-1);
文本(“99”、300、200);

以后,请尝试发布一篇文章。你文章中的代码将文本完全从屏幕上移开,这让我想知道你真正的代码还有什么不同。您正在使用
draw()
函数吗?请通过发布MCVE来避免这些不确定性

不管怎么说,你的基本问题是由。默认情况下,处理使用抗锯齿使图形看起来更平滑,更少像素化。如果放大图形并注意到边缘有点模糊,则可以看到这一点。对于大多数图形来说,这是一件好事,但在您的情况下,这会导致模糊的边显示出来

因此,要解决该问题,可以通过调用
noSmooth()
函数禁用抗锯齿:

大小(500500);
noSmooth();
背景(255);
noLoop();
填充(#500F0F);
文本(“99”、300、200);
填充(255);
文本(“99”、300、200);
还要注意,我使用了
255
作为参数,而不是
-1
。我不确定
-1
的颜色参数应该做什么,所以为了安全起见,我将它保持在
0
255
之间

但是,首先需要“删除”任何文本有点可疑。正如George的评论所说,为什么不调用
background()
函数来清除旧帧呢

下面是一个小例子:

void draw(){
背景(64);
如果(鼠标按下){
文本(“你好”,20,40);
}
}

为什么不干脆用
background()清除整个屏幕?
?很好的扩展答案(+1)