【发布时间】:2021-05-24 13:30:18
【问题描述】:
我想通过允许用户绘制各种形状来增强我用 JS 构建的绘图应用程序。我想通过允许用户拖动这些形状来方便用户。所以我使用了 jCanvas,因为它提供了一种简单的拖动形状的方法:
$("#can").drawRect({
draggable: true,
fillStyle: "#000",
width: 100, height: 100,
x: 100,
y: 100,
});
问题是,我需要一个函数来再次擦除它。所以我做了这个脚本:
<script>
$("#can").drawRect({
draggable: true,
fillStyle: "#000",
width: 100, height: 100,
x: 100,
y: 100,
});
$("#erase").click(function () {
$("#can").clearCanvas();
});
</script>
<canvas id="can" width="200px" height="150px"></canvas>
<button id="erase">Clear Canvas</button>
但这不起作用。当我擦除时,它首先会清除所有内容,但是当我尝试在 Canvas 上绘制时,形状又出现了。
我检查了 jCanvas 的代码,它似乎只是在拖动时绘制了大量的矩形,并清除它们以创建被拖动形状的错觉。但是当这种情况发生时,被清除的 Canvas 会自行撤退,并且形状再次可见。
有没有办法永久清除形状?还是我必须重新加载页面才能正常工作?
提前致谢
【问题讨论】:
-
这就是你的全部代码?你在使用图层吗?
-
是的,这就是我的全部代码。我不使用图层,因为我无法真正弄清楚它们是如何工作的。
标签: javascript jquery html5-canvas jcanvas