【发布时间】:2023-04-05 05:42:01
【问题描述】:
http://joeybabcock.me/tests/php/5.php 我有上面基于phpacademy的例子的绘图应用程序,如果你继续下去,你会看到最后是黑色的,它应该是一个擦除工具,但我无法让它工作,我有以下:
var swetch = document.createElement('div');
swetch.className = 'swetch';
swetch.style.backgroundColor = "rgba(0,0,0,0)";
swetch.addEventListener('click', setEraser);
document.getElementById('colors').appendChild(swetch);
还有:
function setEraser(){
context.fillStyle = "rgba(0,0,0,0)";
context.globalCompositeOperation = "destination-out";
context.strokeStyle = "rgba(0,0,0,0)";
swetch.className += ' active';
var active = document.getElementsByClassName('active')[0];
if(active){
active.className = 'swatch';
}
}
我尝试创建一个简单的样例,它具有 css 属性“透明”,还有一个具有“rgba(0, 0, 0, 0)”,但都不起作用。
我已经尝试了 stackoverflow 和 google 上的所有答案,如果 globalCompositeOperation 有很多不同的方法。
【问题讨论】:
-
context在哪里声明和初始化? -
抱歉,drawer3.js,var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d');
-
@joeybab3 - 在画布中,白色画笔是 橡皮擦。通过绘制透明它什么都不做(因为透明+任何东西仍然没有改变)
-
我将如何真正删除它?如 url 所示,这是一个测试,我打算在它后面有内容。
标签: javascript php canvas