【问题标题】:Konva - clear layer but keep the backgroundKonva - 清除图层但保留背景
【发布时间】:2019-09-03 10:18:49
【问题描述】:

我试图从每个圆圈和线条中清除图层(完全删除它),但将图像保留在背景中。

如果我使用layer.clear(),它也会删除图像。

问题:如何清除图层但避免删除图像?

https://codesandbox.io/s/sharp-night-t4vtt

【问题讨论】:

    标签: javascript konvajs


    【解决方案1】:

    layer.clear() 不要从场景中移除对象。它只是清除画布元素,在下一个layer.draw() 将再次绘制所有对象。

    您需要删除不再需要的对象,而不是 layer.clear()。从演示中,我看到您需要删除线条和圆圈。您可以使用layer.find(selector) 找到该节点并销毁它们。

    document.getElementById("btn").addEventListener("click", () => {
      layer.find('Line').destroy();
      layer.find('Circle').destroy();
      layer.draw();
    });
    

    【讨论】:

    • 谢谢。我只是做了一点解决方法。我使用了layer.removeChildren,不知何故它工作得很好。这是更好的方法吗?还是我应该使用你的?
    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 2013-08-21
    • 2020-07-02
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多