在尝试了合成操作和在画布上绘制图像后,我现在试图删除图像和合成。我怎么做呢?
我需要清除画布重绘其他图像;这可能会持续一段时间,所以我不认为每次都画一个新的矩形是最有效的选择。
在尝试了合成操作和在画布上绘制图像后,我现在试图删除图像和合成。我怎么做呢?
我需要清除画布重绘其他图像;这可能会持续一段时间,所以我不认为每次都画一个新的矩形是最有效的选择。
当前回答
Context.clearRect(starting width, starting height, ending width, ending height);
例如:上下文。clearRect(0,0, canvas.)宽度,canvas.height);
其他回答
使用clearRect方法通过传递x,y坐标和画布的高度和宽度。ClearRect将清除整个画布:
canvas = document.getElementById("canvas");
ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
private clearCanvas() {
const canvas: HTMLCanvasElement = this.ctx.canvas
this.ctx.save()
this.ctx.setTransform(1, 0, 0, 1, 0, 0)
this.ctx.clearRect(0, 0, canvas.width, canvas.height)
this.ctx.restore()
}
这些都是如何清除标准画布的好例子,但如果你使用的是paperjs,那么这将工作:
用JavaScript定义一个全局变量:
var clearCanvas = false;
从你的PaperScript定义:
function onFrame(event){
if(clearCanvas && project.activeLayer.hasChildren()){
project.activeLayer.removeChildren();
clearCanvas = false;
}
}
现在无论你在哪里设置clearCanvas为true,它都会从屏幕上清除所有的项目。
假设canvas是一个canvas元素或者OffscreenCanvas对象,使用clearRect:
const context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);
Context.clearRect(starting width, starting height, ending width, ending height);
例如:上下文。clearRect(0,0, canvas.)宽度,canvas.height);