我的画布上有多个类型对象。 我可以对特定对象上的所有内容进行缩放,旋转等。
但是当我选择一个特定的对象时,我想改变它的stroke
颜色。
canvas.observe('mouse:down', function(e) {
activeInstance = canvas.getActiveObject();
activeGroupInstance = canvas.getActiveGroup();
if (activeInstance!=null){
activeInstance.set("stroke","#FF0000");
}
}
代码效果很好。但问题是stroke
颜色或任何其他有效property
没有直接反映,这意味着我必须取消选择当前选定的对象才能看到其属性的变化。所以我的问题是出了什么问题?如果这是我们必须取消选择/单击所选对象的常见行为,那么,如何使用代码取消选择所选对象,即不使用鼠标单击,只需使用代码片段。
答案 0 :(得分:0)
我们可以使用下面提到的解决方案。
要丢弃您可以在功能下使用的所有活动组。当前活动的组和火灾事件如果由于鼠标事件而由结构调用该功能,则该事件将作为参数传递并发送到火灾功能自定义事件。当用作方法时,e param没有任何应用程序。
canvas.discardActiveGroup();
要丢弃sigle对象,您可以像这样使用。丢弃当前活动的对象和火灾事件。如果由于鼠标事件而由fabric调用该函数,则该事件将作为parmater传递并发送到fire函数以获取自定义事件。当用作方法时,e param没有任何应用程序。
canvas.discardActiveObject();
我最后一次最终渲染了顶部画布和辅助容器画布。
canvas.renderAll();