如何在 html canvas 上用 replaceByImage() 而不是 drawImage() (忽略不透明度)?
How to replaceByImage() instead of drawImage() on html canvas (ignore opacity)?
我想在 canvas 上绘制一个图像(可以有透明部分),完全用 sourve 图像替换 canvas 内容(不像 source-over
合成操作)。
生成的 canvas 将具有与源图像完全相同的值。我找不到任何组合操作来执行此操作。
我总是可以在调用 drawImage()
之前清除 canvas 但我想知道是否有 faster/better 方法。
如果你想替换所有内容,你可以使用复制模式(从问题的文本来看):
ctx.globalCompositeOperation = "copy";
如果您只想删除 canvas 的部分内容,即。您的内容将被绘制到的区域,然后可以使用 clearRect:
ctx.clearRect(x, y, width, height); // replace with values
我想在 canvas 上绘制一个图像(可以有透明部分),完全用 sourve 图像替换 canvas 内容(不像 source-over
合成操作)。
生成的 canvas 将具有与源图像完全相同的值。我找不到任何组合操作来执行此操作。
我总是可以在调用 drawImage()
之前清除 canvas 但我想知道是否有 faster/better 方法。
如果你想替换所有内容,你可以使用复制模式(从问题的文本来看):
ctx.globalCompositeOperation = "copy";
如果您只想删除 canvas 的部分内容,即。您的内容将被绘制到的区域,然后可以使用 clearRect:
ctx.clearRect(x, y, width, height); // replace with values