如何使用FabricJS设置矩形移动时的边框不透明度?

在本教程中,我们将在移动时设置矩形的边框不透明度 FabricJS。矩形是 FabricJS 提供的各种形状之一。为了 创建一个矩形,我们必须创建一个 Fabric.Rect 类的实例并将其添加到 画布。
我们可以使用 borderOpacityWhenMoving 属性在画布中移动矩形时更改矩形的不透明度。
语法
new fabric.Rect({ borderOpacityWhenMoving: Number }: Object)参数
选项(可选) - 此参数是一个对象,它为我们的矩形提供额外的自定义。使用此参数,可以更改与 borderOpacityWhenMoving 为属性的对象相关的颜色、光标、描边宽度和许多其他属性等属性。
ul>borderOpacityWhenMoving - 此属性接受一个数字,指定不透明程度我们希望在移动矩形时边框保持不变。它允许我们在移动矩形对象时控制边框的不透明度。默认值为 0.4。
选项键
示例 1
显示 borderOpacityWhenMoving 属性的默认行为
让我们看一个代码示例,它显示了boderOpacityWhenMoving 属性的默认行为。当我们选择矩形对象并移动它时 在画布周围,选区边框的不透明度从 1(完全不透明)更改为 0.4 这使它看起来有点半透明。
<!DOCTYPE html>
<html>
<head>
<!-- Adding the Fabric JS Library-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script>
</head>
<body>
<h2>Displaying the default behaviour of borderOpacityWhenMoving property</h2>
<p>Move the rectangle to see the default behaviour of <b>borderOpacityWhenMoving</b></p>
<canvas id="canvas"></canvas>
<script>
// Initiate a canvas instance
var canvas = new fabric.Canvas("canvas");
canvas.setWidth(document.body.scrollWidth);
canvas.setHeight(250);
// Initiate a rectangle object
var rect = new fabric.Rect({
left: 125,
top: 90,
width: 170,
height: 70,
fill: "#cf1020",
padding: 9,
borderColor: "black",
});
// Add it to the canvas
canvas.add(rect);
</script>
</body>
</html>示例 2
将 borderOpacityWhenMoving 作为键传递
让我们看一个为 borderOpacityWhenMoving 属性赋值的代码示例。在本例中,我们将值指定为 0。它告诉我们,当我们移动矩形时,边框不透明度将更改为 0 并且不可见。
<!DOCTYPE html>
<html>
<head>
<!-- Adding the Fabric JS Library-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script>
</head>
<body>
<h2>Passing borderOpacityWhenMoving as key</h2>
<p>Move the rectangle to see the change in value of <b>borderOpacityWhenMoving</b></p>
<canvas id="canvas"></canvas>
<script>
// Initiate a canvas instance
var canvas = new fabric.Canvas("canvas");
canvas.setWidth(document.body.scrollWidth);
canvas.setHeight(250);
// Initiate a rectangle object
var rect = new fabric.Rect({
left: 125,
top: 90,
width: 170,
height: 70,
fill: "#cf1020",
padding: 9,
borderColor: "black",
borderOpacityWhenMoving: 0,
});
// Add it to the canvas
canvas.add(rect);
</script>
</body>
</html>
javascript