📜  Fabric.js ActiveSelection getScaledWidth() 方法(1)

📅  最后修改于: 2023-12-03 15:00:41.490000             🧑  作者: Mango

Fabric.js ActiveSelection getScaledWidth() 方法

在使用 Fabric.js 库开发前端页面时,我们可能需要用到 ActiveSelection 类来进行多个对象的选中和操作。getScaledWidth() 方法是 ActiveSelection 类的一个方法,可以用来获取选中对象的缩放后的宽度。

方法定义

getScaledWidth() 方法的定义如下:

getScaledWidth(ignoreVpt?: boolean): number;
  • ignoreVpt:可选参数。当值为 true 时,忽略视图上的变换。默认值为 false

  • 返回值:返回选中对象缩放后的宽度(单位为像素)。

方法用途

当我们需要获取多个对象组成的选中集合中,所有对象宽度缩放后的最大或最小值时,可以使用 getScaledWidth() 方法。

随着选中对象的移动、缩放、旋转,视图会发生变换,因此在计算选中集合的宽度时,需要考虑视图变换对宽度的影响。可以通过 ignoreVpt 参数来控制是否忽略视图上的变换。

示例
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Fabric.js ActiveSelection getScaledWidth() 方法示例</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/fabric.js/3.7.0/fabric.min.js"></script>
</head>
<body>
    <canvas id="canvas" width="400" height="400"></canvas>
    <script>
        // 创建两个矩形
        var rect1 = new fabric.Rect({
          left: 100,
          top: 100,
          fill: 'red',
          width: 100,
          height: 100
        });

        var rect2 = new fabric.Rect({
          left: 200,
          top: 200,
          fill: 'blue',
          width: 200,
          height: 200
        });

        // 将两个矩形添加到 canvas 中
        var canvas = new fabric.Canvas('canvas');
        canvas.add(rect1);
        canvas.add(rect2);

        // 选中两个矩形,并输出缩放后的宽度
        var group = new fabric.ActiveSelection([rect1, rect2], { canvas: canvas });
        console.log(group.getScaledWidth()); // 输出 391,即 rect2 的宽度缩放后的值
    </script>
</body>
</html>

上面的示例中,我们创建了两个矩形,将它们添加到 canvas 中,并选中它们。通过 group.getScaledWidth() 方法,我们可以获取到选中的两个矩形缩放后的最大宽度。