Fabric.js 多边形fillRule属性

Fabric.js 多边形fillRule属性

在本文中,我们将看到如何使用 FabricJS 设置canvas多边形的填充规则,它用于填充一个物体。canvas多边形意味着可以根据需求移动和拉伸多边形。此外,当涉及到初始描边颜色、高度、宽度、填充颜色或描边宽度时,多边形可以进行自定义。

为了实现这一点,我们将使用一个叫做 FabricJS 的JavaScript库。在导入库之后,我们将在标签中创建一个包含多边形的canvas块。然后,我们将通过 FabricJS 提供的Canvas和polygon的实例来设置canvas多边形的填充规则,以及在canvas上渲染多边形,如下面的示例中所示。

语法:

fabric.Polygon([  
    { x: pixel, y: pixel },  
    { x: pixel, y: pixel },  
    { x: pixel, y: pixel },  
    { x: pixel, y: pixel },  
    { x: pixel, y: pixel }],
    {
        fillRule : string
});

参数:

此属性接受一个参数,如上所述,并在下面进行描述:

  • fillRule: 规定对象的填充规则,接受的值为nonzero和evenodd。

    注意:

创建多边形必须指定像素尺寸。

下面的示例以JavaScript展示了 Fabric.JS 多边形的fillRule属性:

示例1: 在这个示例中,我们将属性值设为evenodd。

<!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 fillRule 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 }], {  
            fillRule: 'evenodd'  
        });  
  
        // Render the polygon in canvas  
        canvas.add(polygon);  
    </script>  
</body>  
  
</html>

输出:

Fabric.js 多边形fillRule属性

示例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 fillRule 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 }], {  
            fillRule: 'nonzero'  
        });  
  
        // Render the polygon in canvas  
        canvas.add(polygon);  
    </script>  
</body>  
  
</html>

输出:

Fabric.js 多边形fillRule属性

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程