【问题标题】:How to find out absolute coordinates of Polygon in fabric js?如何在fabric js中找出Polygon的绝对坐标?
【发布时间】:2016-06-16 21:16:53
【问题描述】:

如果我在缩放或移动后获得分数,我会得到一些错误的分数。 如何在fabric js中找出Polygon的绝对坐标?

var onObjectScaling = function(eventObj) {
        if (target.type === 'dpolygon') {
            target.minX *= target.scaleX;
            target.minY *= target.scaleY;
            var maxX = target.minX;
            var maxY = target.minY;
            angular.forEach(target.points, function (v) {
                v.x *= target.scaleX;
                v.y *= target.scaleY;
                maxX = Math.max(maxX, v.x);
                maxY = Math.max(maxY, v.y);
            });
        }
};

【问题讨论】:

  • 能否请您发布您的代码,

标签: javascript fabricjs


【解决方案1】:

终于,经过一番尝试,我找到了一种计算绝对坐标的正确方法

angular.forEach(object.points, function(point) { 
   point.x = object.left + (point.x - object.minX); 
   point.y = object.top + (point.y - object.minY); 
});

【讨论】:

    【解决方案2】:

    @Andrei 的解决方案对我不起作用。

    相反,我找到了两个解决方案,可能对某人有所帮助。

    在fabric 2.0之前,多边形点是相对于它的中心的,你想按照这个来计算坐标:How to get polygon points in Fabric.js

    在 2.0 之后,多边形点对于画布是绝对的,这将有所帮助:How does transforming points with a transformMatrix work in fabricJS?

    就我而言,我使用的是 2.3.6,后来的解决方案适合我。

    【讨论】:

      猜你喜欢
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 2022-01-27
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多