让程序开始使用形状擦除画布的部分区域。
在调用 erase()
后的所有绘制的图形都被从画布中减去,显示出网页底部。擦除的区域将变为透明,使得画布后面的内容可以显示出来。一旦调用了 erase()
,fill()、stroke() 和 blendMode() 将不起作用。
erase()
函数有两个可选参数。第一个参数设置形状内部擦除的强度。值为 0 表示不会发生擦除。值为 255 表示形状的内部将完全擦除其下的内容。默认值为 255(最大强度)。
第二个参数设置形状边缘擦除的强度。值为 0 表示不会发生擦除。值为 255 表示形状的边缘将完全擦除其下的内容。默认值为 255(最大强度)。
要取消擦除效果,请使用 noErase() 函数。
erase()
不会影响调用 image() 和 background() 函数进行的绘制。
示例
语法
erase([strengthFill], [strengthStroke])
参数
表示形状内部擦除强度的数字(0-255)。默认为 255,即最大强度。
表示形状边缘擦除强度的数字(0-255)。默认为 255,即最大强度。
相关参考
background
设置画布背景的颜色 默认情况下,画布的背景是透明的。background() 通常和 draw() 一起使用在每一帧绘制之初清空显示窗口里的内容。它也可以在 setup() 函数内调用,给动画的第一帧设置背景。 当 background() 带有一个参数的时候,参数有四种解读方式。如果参数是一个 Number, 该参数将作为灰度值解读。如果参数是 String, 该参数将作为 CSS 颜色字符串解读,并支持 RGB, RGBA, HSL, HSLA, hex, 以及 CSS 颜色名。 如果该参数是一个 p5.Color 对象,它将作为背景颜色使用。如果该参数是一个 p5.Image 它将作为背景图片使用。 当 background() 带有两个参数的时候,第一个参数将作为灰度值解读。第二个参数设置 alpha(透明度)。 当 background() 带有三个参数的时候,这三个参数将作为 RGB, HSB, 或 HSL 模式下的颜色值解读,具体的模式取决于 colorMode()。 默认情况下,颜色数值将以 RGB 模式解读,调用 background(255, 204, 0) 会将背景设为一个亮黄色。 .
beginClip
开始定义一个形状,该形状将遮罩之后绘制的任何形状。 在 beginClip() 和 endClip() 之间绘制的任何形状都将添加到遮罩形状中。遮罩将应用于在 endClip() 之后绘制的任何内容。 参数 options 是可选的。如果传入一个包含 invert 属性的对象,比如 beginClip({ invert: true }),它会被用于设置遮罩模式。{ invert: true } 会反转遮罩,即在被遮罩的形状中创建空洞。invert 的默认值是 false。 遮罩可以被包裹在 push() 和 pop() 函数之间。这样可以在遮罩形状之后绘制不被遮罩的形状。 遮罩也可以通过传递给 clip() 的回调函数来定义。 .
clear
清除画布上的所有像素。 clear() 函数使每个像素的透明度为 100%。调用 clear() 不会清除由 createX() 函数创建的对象,如 createGraphics()、createVideo() 和 createImg()。调用 clear() 后,这些对象将保持不变,并且可以重新绘制。 在 WebGL 模式下,此函数可以将屏幕清除为特定颜色。它将四个数字参数解读为归一化的 RGBA 颜色值。它还可以清除像素深度值缓存区。如果没有使用 WebGL 渲染器,则这些参数将不起作用。 .
clip
定义一个形状,它将遮罩之后绘制的所有形状。 第一个参数,callback,是一个定义遮罩的函数。在 callback 中绘制的任何形状都会添加到遮罩形状中。遮罩将适用于在调用 clip() 之后绘制的任何内容。 第二个参数,options,是可选的。如果传递了一个包含 invert 属性的对象,如 beginClip({ invert: true }),它将被用来设置遮罩模式。{ invert: true } 会反转遮罩,在被遮罩的形状中创建空洞。invert 默认为 false。 遮罩可以被包含在 push() 和 pop() 函数之间。这样可以让未被遮罩的形状在遮罩形状之后被绘制。 遮罩也可以通过 beginClip() 和 endClip() 来定义。 .