我正在开发一个带有画布的绘图应用程序。 我想实现一个擦除功能,但不是一个简单的擦除,这是一个简单的白色笔,一个真正的橡胶。
事实上,我在应用程序中添加了透明画布,我想,当我绘制时,我可以删除我绘制的内容,即将不透明度设置为0!
我已经在Google& stackoverflow,我发现:
代码:JavaScript - Sélectionner
context.globalCompositeOperation = "destination-out";
context.strokeStyle = "rgba(0,0,0,0)";
但是它不起作用......我尝试MDN上显示的globalCompositeOperation
的不同模式,但没有区别。
请帮助。
答案 0 :(得分:2)
它不起作用,因为你在你想要擦除的东西上绘制一条透明线......所以它什么也没做。
当你有白色背景时,很容易擦除,你只是画白了。但这不是你想要的。
这里的技巧是使用clearRect删除画布上的内容,而不是绘制其他形状。
context.clearRect(cursorX, cursorY, brushWidth, brushHeight);
它会显示为小方块但我看不到另外一种方法,除了像素操作。