Fabric.js 多边形的borderOpacityWhenMoving属性
在本文中,我们将看到如何绘制一个画布多边形,其中当用户移动多边形时,边框的透明度会发生变化,使用 FabricJS 库。画布多边形意味着多边形可移动,并可根据需求进行拉伸。此外,当涉及到初始描边颜色、形状、填充或描边宽度时,可以自定义多边形。
为了实现这个目标,我们将使用一个名为 FabricJS 的JavaScript库。在导入库后,我们将在body标签中创建一个包含多边形的画布块。之后,我们将使用 FabricJS 提供的Canvas和polygon实例,并使用borderOpacityWhenMoving属性启用canvas多边形的borderOpacityWhenMoving属性,并在画布上呈现多边形,具体如下所示。
语法:
fabric.Polygon([
{ x: pixel, y: pixel },
{ x: pixel, y: pixel },
{ x: pixel, y: pixel},
{ x: pixel, y: pixel},
{ x: pixel, y: pixel }],
{
borderOpacityWhenMoving: number
}
);
参数: 此属性接受单个参数,如上所述并以下述方式描述:
- borderOpacityWhenMoving: 此参数定义多边形的边框不透明度。
注意: 创建多边形需要指定像素尺寸。
以下示例演示了JavaScript中Fabric.JS多边形 borderOpacityWhenMoving 属性:
示例1:
<!DOCTYPE html>
<html>
<head>
<!-- Loading the FabricJS library -->
<script src=
"https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js">
</script>
</head>
<body>
<div style="text-align: center;width: 600px;">
<h1 style="color: green;">
GeeksforGeeks
</h1>
<b>
Fabric.js | Polygon borderOpacityWhenMoving Property
</b>
</div>
<canvas id="canvas"
width="600"
height="200"
style="border:1px solid #000000;">
</canvas>
<script>
// Initiate a Canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate a polygon instance
var polygon = new fabric.Polygon([
{ x: 295, y: 10 },
{ x: 235, y: 198 },
{ x: 385, y: 78},
{ x: 205, y: 78},
{ x: 355, y: 198 }], {
fill: 'yellow',
borderOpacityWhenMoving: 0.1
});
// Render the polygon in canvas
canvas.add(polygon);
</script>
</body>
</html>
输出:

示例2:
<!DOCTYPE html>
<html>
<head>
<!-- Loading the FabricJS library -->
<script src=
"https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js">
</script>
</head>
<body>
<div style="text-align: center;width: 600px;">
<h1 style="color: green;">
GeeksforGeeks
</h1>
<b>
Fabric.js | Polygon borderOpacityWhenMoving Property
</b>
</div>
<canvas id="canvas"
width="600"
height="200"
style="border:1px solid #000000;">
</canvas>
<script>
// Initiate a Canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate a polygon instance
var polygon = new fabric.Polygon([
{ x: 295, y: 10 },
{ x: 235, y: 198 },
{ x: 385, y: 78},
{ x: 205, y: 78},
{ x: 355, y: 198 }], {
fill: 'yellow',
borderOpacityWhenMoving: 1
});
// Render the polygon in canvas
canvas.add(polygon);
</script>
</body>
</html>
输出:

极客教程