【问题标题】:clearCanvas() with draggable layers带有可拖动图层的 clearCanvas()
【发布时间】:2014-05-11 02:09:20
【问题描述】:

当我将普通对象或图层添加到画布(使用jCanvas)时,我可以使用clearCanvas() 函数清除画布。

但是当我使我的图层可拖动时,clearCanvas() 函数似乎不起作用。当我单击按钮时,它确实清除了画布,但是一旦鼠标再次悬停在画布上,删除的内容就会再次添加。我在这里做错了什么?

JSFiddle Demo

$('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();
});

【问题讨论】:

  • 我无法回答我自己的问题,因为我还没有足够的声誉。唯一的选择是编辑我自己的问题。

标签: jquery canvas draggable jcanvas clearcanvas


【解决方案1】:

UPDATE by Mirko(这里是先生)

Caleb Evans 为我的问题提供了解决方案:

clearCanvas() 方法仅适用于非图层(静态)绘图。只要您的画布至少有一个 jCanvas 层,clearCanvas() 就会变得不适用。

如果您希望完全删除一个图层(假设您再也不需要它),请使用removeLayer() 方法。

$('#clear').click(function(){
    $('canvas').removeLayers();
    $('canvas').drawLayers();
});

【讨论】:

  • nicolallias,在这种情况下,礼仪是让你的答案社区维基,所以你不会因为不属于你的答案而获得声誉。
猜你喜欢
  • 2012-06-09
  • 1970-01-01
  • 2013-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多