Fabric.js 椭圆 lockUniScaling 属性
在本篇文章中,我们将展示如何使用 FabricJS 锁定画布椭圆的非均匀缩放,以保持对象的纵横比。画布中的椭圆可以移动,并可以根据需求进行拉伸。此外,当涉及到初始描边颜色、填充颜色、描边宽度或半径时,可以自定义椭圆。
为了实现这个目标,我们将使用一个名为 FabricJS 的 JavaScript 库。在使用 CDN 导入库之后,我们将在 body 标签中创建一个 canvas 块,该块将包含我们的椭圆。之后,我们将使用由 FabricJS 提供的 Canvas 和 Ellipse 实例来锁定画布椭圆的非均匀缩放,使用 lockUniScaling 属性,并按照下面的示例在画布上渲染椭圆。
语法:
fabric.Ellipse({
rx: number,
ry: number,
lockUniScaling: boolean
});
参数:
此函数接受三个参数如上所述并以下所示:
- rx: 此参数定义横向半径。
- ry: 此参数定义纵向半径。
- lockUniScaling: 此参数定义是否锁定非均匀缩放。
示例:
此示例使用FabricJS锁定画布椭圆的非均匀缩放。
<!DOCTYPE html>
<html>
<head>
<title>
Lock non-uniform scaling of a canvas
ellipse using FabricJS
</title>
<!-- 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: 600px;">
<h1 style="color: green;">
GeeksforGeeks
</h1>
<b>
lock non-uniform scaling of a canvas
ellipse using FabricJS
</b>
</div>
<div style="text-align: center;">
<canvas id="canvas" width="600" height="200"
style="border:1px solid #000000;">
</canvas>
</div>
<script>
// Initiate a Canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate a Ellipse instance
var ellipse = new fabric.Ellipse({
rx: 80,
ry: 40,
lockUniScaling: true
});
// Render the Ellipse in canvas
canvas.add(ellipse);
</script>
</body>
</html>
输出: