gpt4 book ai didi

javascript - 对象修改后如何获取点坐标?

转载 作者:行者123 更新时间:2023-11-30 15:55:49 24 4
gpt4 key购买 nike

我想在修改对象后获取新的点坐标,但是当我在修改后获取点坐标时,它们与我绘制多边形的点坐标相同。谁能告诉我为什么会这样?下面是我的代码,

<!--fabricjs -->
canvas.on('object:modified', function(e){

var obj=e.target;
console.log("new point coordinates "+obj.points);
});

最佳答案

下面是我用来在禁用 ROTATE 的情况下获取更新点的代码。但是,如果我在启用旋转选项的情况下使用以下代码获取更新的点,并且在旋转对象之后,我得到了错误的点集,所以现在我已经禁用了旋转选项。如果有人能说我如何修改下面的代码以启用旋转选项并获得正确的点集,那将会很有帮助。

<!-- fabric js -->
canvas.on('object:modified', function(e) {
var newCoordinates = "";
var matrix = [];
var polygon = canvas.getItemById(e.target.id);
matrix = polygon.calcTransformMatrix();
var translatedPoints = polygon.get('points').map(function(p) {
return {
x: p.x - polygon.pathOffset.x,
y: p.y - polygon.pathOffset.y
};
});
for (var i = 0; i < translatedPoints.length; i++) {
translatedPoints[i].x = matrix[0] * translatedPoints[i].x + matrix[2] * translatedPoints[i].y + matrix[4];
translatedPoints[i].y = matrix[1] * translatedPoints[i].x + matrix[3] * translatedPoints[i].y + matrix[5];
}
var newUpdatedPoints = JSON.stringify(translatedPoints);
});

关于javascript - 对象修改后如何获取点坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38567332/

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