Fabric js:移动时没有组成员更新
Posted
技术标签:
【中文标题】Fabric js:移动时没有组成员更新【英文标题】:Fabric js : No group member update while moving 【发布时间】:2017-01-14 00:58:38 【问题描述】:我在这里的第一个问题,经过多年在其他主题中寻找解决方案! 首先,对不起,如果我的英语不完美!
我在我的应用程序中使用 Fabric js,我必须实现一个按钮来对文本或图像进行分组。
但是,我注意到,当我在画布上移动组时,组坐标会更新,但不会更新组的对象。
在画布上,对象与它们的组一起移动得很好,但在控制台中,它们似乎总是具有相同的“顶部”和“左侧”值。
这是一个正常的群体行为,在这种情况下,我真的不明白,或者我错过了什么?
可以注意到我是用addWithUpdate(obj)方法在组中添加对象的。
我真的希望有人可以帮助我!
【问题讨论】:
是的,这很正常。单个对象仅在从组中删除时才会更新,或者您可以进行一些调用以获取已解决的最终定位。您有更具体的问题吗? 感谢您的回答!如果对象在从组中删除时更新,我想我会在需要知道它们的位置时删除它们!我会试试这个,如果我无法找到解决问题的方法,我会尝试问另一个更具体的问题!再次感谢! 【参考方案1】:是的,这很正常。 但是,您可以通过这种方式在不破坏和重建组的情况下找到位置:
给定一个 group
是 fabric.Group
和一个 childObject 是 fabric.Object
的子类,您可以:
1) 用 childObject 顶部和左侧创建一个点
var point = new fabric.Point(childObject.left, childObject.top);
2) 获取组transformMatrix:
var transform = group.calcTransformMatrix();
3) 用这个矩阵变换点:
var actualCoordinates = fabric.util.transformPoint(point, transform);
你应该准备好了。
【讨论】:
以上是关于Fabric js:移动时没有组成员更新的主要内容,如果未能解决你的问题,请参考以下文章
Hyperledger fabric 1.0Beta网络组成及构建流程
Angular.js 和 Fabric.js:一旦代码移动到 Angular 指令,Fabric 画布就会改变行为