Fabric.js Group useSetOnGroup属性
在本文中,我们将看到如何使用Fabric.js设置画布中的Group的useSetOnGroup属性。Fabric.js中的Group可移动且可根据需要拉伸。此外,当涉及到初始边框颜色、高度、宽度、填充颜色或边框宽度时,可以对Group进行自定义。
为了实现这一点,我们将使用一个叫做Fabric.js的JavaScript库。在导入库之后,我们将在body标签中创建一个包含Group的画布块。之后,我们将初始化由Fabric.js提供的Canvas和Group的实例,并使用useSetOnGroup属性设置画布Group的useSetOnGroup属性。
语法:
fabric.Group([canvas1, canvas2], {
useSetOnGroup: Boolean
});
参数: 该属性接受一个上述提到并在下面描述的单个参数:
- useSetOnGroup: 如果设置为true,则分组内对象的坐标不会改变。
下面的示例展示了如何在JavaScript中使用Fabric.js Group的 useSetOnGroup 属性:
示例1:
<!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 | Group useSetOnGroup Property
</b>
</div>
<div style="text-align: center;">
<canvas id="canvas" width="500" height="300"
style="border:1px solid green;">
</canvas>
</div>
<script>
// Initiate a Canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate a circle instance
var circle = new fabric.Circle({
radius: 100,
fill: 'lightgreen',
scaleY: 0.6,
originX: 'center',
originY: 'center'
});
// Initiate a text instance
var text = new fabric.Text('GeeksforGeeks', {
fontSize: 25,
originX: 'center',
originY: 'center'
});
// Initiate a Group instance
var group = new fabric.Group([ circle, text ], {
useSetOnGroup: false
});
// Render the Group in canvas
canvas.add(group);
// Center the Group in canvas
canvas.centerObject(group);
</script>
</body>
</html>
输出:
示例2:
<!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 | Group useSetOnGroup Property
</b>
</div>
<div style="text-align: center;">
<canvas id="canvas" width="500" height="300"
style="border:1px solid green;">
</canvas>
</div>
<script>
// Initiate a Canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate a circle instance
var circle = new fabric.Circle({
radius: 100,
fill: 'lightgreen',
scaleY: 0.6,
originX: 'center',
originY: 'center'
});
// Initiate a text instance
var text = new fabric.Text('GeeksforGeeks', {
fontSize: 25,
originX: 'center',
originY: 'center'
});
// Initiate a Group instance
var group = new fabric.Group([ circle, text ], {
useSetOnGroup: true
});
// Render the Group in canvas
canvas.add(group);
// Center the Group in canvas
canvas.centerObject(group);
</script>
</body>
</html>
输出: