gpt4 book ai didi

javascript - 在 Fabric.js 中取消选择选定的对象

转载 作者:行者123 更新时间:2023-12-04 02:11:12 25 4
gpt4 key购买 nike

我的 Canvas 上有多个类型对象。
我可以对特定对象进行缩放、旋转等操作。

但是当我选择一个特定的对象时,我想改变它的 stroke颜色。

canvas.observe('mouse:down', function(e) {

activeInstance = canvas.getActiveObject();
activeGroupInstance = canvas.getActiveGroup();
if (activeInstance!=null){
activeInstance.set("stroke","#FF0000");
}
}

该代码运行良好。但问题是 stroke颜色或任何其他有效 property不直接反射(reflect),这意味着我必须取消选择当前选定的对象才能看到其属性的变化。所以我的问题是出了什么问题?如果这是我们必须取消选择/单击所选对象的常见行为,那么如何使用代码取消选择所选对象,即不使用鼠标单击,只需使用代码片段即可。

最佳答案

我们可以使用下面提到的解决方案。

要丢弃所有事件组,您可以使用下面的函数。丢弃当前事件的组和触发事件.当用作方法时,e 参数没有任何应用。

canvas.discardActiveGroup();

要丢弃单个对象,您可以像这样使用。丢弃当前事件的对象并触发事件。如果该函数因鼠标事件而被结构调用,则该事件将作为参数传递并发送到自定义事件的 fire 函数。当用作方法时,e 参数没有任何应用。
canvas.discardActiveObject();

我最后最终像这样渲染了顶部 Canvas 和辅助容器 Canvas 。
canvas.renderAll();

关于javascript - 在 Fabric.js 中取消选择选定的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20339000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com