我已经从SO帖子How to get the canvas-relative position of an object that is in a group?中找到了如何获得坐标。当小组缩放时,我设法做了一些实验来获得坐标。
x = object.left * object.group.scaleX + object.group.left +(object.group.width / 2)* object.group.scaleX;
y = object.top * object.group.scaleY + object.group.top +(object.group.height / 2)* object.group.scaleY;
如何获得x& y当组也旋转时。我遇到过fabric.util.rotatePoint,但我真的不知道如何使用它。我希望有一个函数可以返回一个对象相对于画布的坐标,考虑到originX,originY,缩放,旋转等的位置。请帮忙。谢谢你的阅读。
答案 0 :(得分:0)
我通过跟踪缩放和使用转换矩阵来解决问题。
var matrix = object.calcTransformMatrix();
x = matrix[4] // translation in X
y = matrix[5] // translation in Y
矩阵的第5和第6个值是按定义进行平移,但它也考虑了组内对象的旋转,缩放。我想找到对象的位置是在两个对象之间画一条线。我想在用户调整画布大小后再这样做。