当我向 Canvas 添加普通对象或图层时(使用 jCanvas ),我可以使用 clearCanvas()
函数清除 Canvas 。
但是当我使图层可拖动时,clearCanvas()
函数似乎不起作用。当我单击按钮时,它确实会清除 Canvas ,但是一旦鼠标再次悬停在 Canvas 上,删除的内容就会再次添加。我在这里做错了什么?
$('canvas').drawArc({
fillStyle: 'black',
x: 100, y: 100,
radius: 50,
draggable: true, // uncomment this and Clear canvas works.
layer: true,
});
$('#clear').click(function(){
$('canvas').clearCanvas();
});
最佳答案
<子> UPDATE by Mirko (先生,你来了)
Caleb Evans为我的问题提供了解决方案:
clearCanvas()
方法仅用于非图层(静态)绘图。每当您的 Canvas 至少有一个 jCanvas 层时,clearCanvas()
就变得不适用。
如果您希望完全删除某个图层(假设您不再需要它),请使用 removeLayer()
方法。
$('#clear').click(function(){
$('canvas').removeLayers();
$('canvas').drawLayers();
});
关于jquery - 具有可拖动层的clearCanvas(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22766618/