Fabric.js ActiveSelection hasFill() 方法
本文将介绍如何在使用FabricJS的画布ActiveSelection中使用hasFill()方法来填充对象。ActiveSelection表示ActiveSelection可以根据需求移动和拉伸。此外,ActiveSelection可以根据初始描边颜色、高度、宽度、填充颜色或描边宽度进行自定义。
hasFill()方法将返回true,如果对象将绘制填充色,该方法不考虑文本样式。
步骤: 首先导入fabric.js库。导入库后,在body标签中创建一个包含ActiveSelection的canvas块。之后,通过Fabric.JS提供的Canvas和ActiveSelection类初始化一个实例,并使用hasFill()方法。
语法:
ActiveSelection.hasFill()
参数: 此函数不接受任何参数。
返回值: 此方法返回一个布尔值,如果对象将绘制填充,则返回true,不考虑文本样式。
示例: 此示例使用FabricJS来设置画布ActiveSelection的hasFill()方法,如下例所示。
<!DOCTYPE html>
<html>
<head>
<!-- FabricJS CDN -->
<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: 400px;">
<h1 style="color: green;">
GeeksforGeeks
</h1>
<b>
Fabric.js | ActiveSelection hasFill() method
</b>
</div>
<div style="text-align: center;">
<canvas id="canvas" width="500" height="500"
style="border:1px solid green;">
</canvas>
</div>
<img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200327230544/g4gicon.png"
width="100" height="100" id="my-image"
style="display: none;">
<script>
var canvas = new fabric.Canvas("canvas");
// Getting the image
var img = document.getElementById('my-image');
// Creating the image instance
var geek = new fabric.Image(img, {
});
canvas.add(geek);
var geek = new fabric.IText('GeeksforGeeks', {
});
canvas.add(geek);
canvas.centerObject(geek);
var gfg = new fabric.ActiveSelection(canvas.getObjects(), {
});
canvas.setActiveObject(gfg);
canvas.requestRenderAll();
canvas.centerObject(gfg);
console.log(gfg.hasFill())
</script>
</body>
</html>
输出:
参考: http://fabricjs.com/docs/fabric.ActiveSelection.html#hasFill