gpt4 book ai didi

javascript - 通过控件旋转组后,获取 fabricjs 中组中对象相对于 Canvas 的位置

转载 作者:行者123 更新时间:2023-11-30 00:07:52 25 4
gpt4 key购买 nike

我从 SO post 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,但真的不知道如何使用它。我希望有一个函数可以返回对象相对于 Canvas 的坐标,同时考虑到 originX、originY、缩放、旋转等位置。请帮忙。感谢阅读。

最佳答案

我通过跟踪缩放和使用变换矩阵解决了这个问题。

var matrix = object.calcTransformMatrix();
x = matrix[4] // translation in X
y = matrix[5] // translation in Y

矩阵的第 5 个和第 6 个值根据定义是平移,但它也考虑了组内对象的旋转和缩放。我找到物体位置的目的是在两个物体之间画一条线。我也想在用户调整 Canvas 大小后执行此操作。

关于javascript - 通过控件旋转组后,获取 fabricjs 中组中对象相对于 Canvas 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37803652/

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