通过平移和缩放计算画布中的绝对坐标

塔奇·穆斯塔法

更改视口位置和缩放级别后,如何计算画布的特定位置(例如,底部中心)?

现在我正在尝试这样的事情。但这仅适用于视口。

canvasPoint = {
   left:(canvas.width/2)-canvas.viewportTransform[4],
   top: canvas.height-canvas.viewportTransform[5]
}

当我缩小放大时,我无法找到画布的新的中心底点。

安德里亚·博加齐(AndreaBogazzi)

您必须使用矩阵。您的底部-中心角具有坐标:

var p = {x: canvas.width/2, y: canvas.height};

您的缩放和平移由viewportTransfom表示:

var invertedMatrix = fabric.util.invertTransform(canvas.viewportTransform);
var transformedP = fabric.util.transformPoint(p, invertedMatrix);

并且应该完成。transformdP应该具有在缩放和/或平移视图中视为中心底部的点的绝对坐标。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章