FabricJS – 如何检查线条中指定控件是否可见


在本文中,我们将学习如何使用 FabricJS 检查线条中指定控件是否可见。线条元素是 FabricJS 提供的基本元素之一。它用于创建直线。由于线条元素在几何上是一维的,并且不包含内部,因此它们永远不会被填充。我们可以通过创建fabric.Line的实例,指定线条的x和y坐标,并将其添加到画布上来创建线条对象。为了检查线条对象中指定的控件是否可见,我们使用isControlVisible方法。

语法

 isControlVisible(controlKey: String): Boolean 

参数

  • controlKey − 此参数接受一个字符串,该字符串指定控件键。可能的值为“tl”、“tr”、“br”、“bl”、“ml”、“mt”、“mr”、“mb”、“mtr”。它们列在下面

    • “tl” − 此属性接受一个布尔值,用于启用或禁用左上角控件。

    • “tr” − 此属性接受一个布尔值,用于启用或禁用右上角控件。

    • “br” − 此属性接受一个布尔值,用于启用或禁用右下角控件。

    • “bl” − 此属性接受一个布尔值,用于启用或禁用左下角控件。

    • “ml” − 此属性接受一个布尔值,用于启用或禁用中间左侧控件。

    • “mt” − 此属性接受一个布尔值,用于启用或禁用中间顶部控件。

    • “mr” − 此属性接受一个布尔值,用于启用或禁用中间右侧控件。

    • “mb” − 此属性接受一个布尔值,用于启用或禁用中间底部控件。

    • “mtr” − 此属性接受一个布尔值,用于启用或禁用中间顶部旋转控件。

使用isControlVisible方法

示例

让我们来看一个代码示例,看看使用isControlVisible方法时的日志输出。isControlVisible方法根据控件键是否可见返回true或false值。在本例中,返回true值,因为左下角控件键可见。

<!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>Using isControlVisible method</h2> <p> You can open console from dev tools and see that the logged output contains a true value </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 Line object var line = new fabric.Line([200, 100, 100, 40], { stroke: "blue", strokeWidth: 20, }); // Add it to the canvas canvas.add(line); // Using isControlVisible method console.log( "Is the bottom-left control key visible? : ", line.isControlVisible('bl') ); </script> </body> </html>

对不可见控件使用isControlVisible方法

示例

在此示例中,我们使用isControlVisible来检查中间顶部旋转控件是否可见。这里返回false值,因为中间顶部旋转控件键不可见。

<!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>Using isControlVisible method for an invisible control</h2> <p> You can open console from dev tools and see that the logged output contains a false value </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 Line object var line = new fabric.Line([200, 100, 100, 40], { stroke: "blue", strokeWidth: 20, }); // Add it to the canvas canvas.add(line); // Make “mtr” control invisible line.setControlVisible("mtr", false); // Using isControlVisible method console.log( "Is the middle-top-rotate control key visible? : ", line.isControlVisible("mtr") ); </script> </body> </html>

更新于:2022年10月20日

浏览量:233

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.