如何使用 FabricJS 为矩形添加曲线?
在本教程中,我们将学习如何使用 FabricJS 为矩形添加曲线。矩形是 FabricJS 提供的各种形状之一。为了创建矩形,我们必须创建 fabric.Rect 类的实例并将其添加到画布中。
我们可以通过指定其位置、颜色、不透明度和尺寸来自定义矩形对象。但是,我们还可以使用诸如rx和ry之类的属性,这些属性允许我们为矩形的水平和垂直边框半径赋值。
语法
new fabric.Rect({ rx : Number, ry: Number }: Object)参数
选项(可选) - 此参数是一个对象,它为我们的矩形提供其他自定义。使用此参数,可以更改与对象相关的颜色、光标、笔触宽度和许多其他属性,其中 rx 和 ry 是属性。
选项键
rx - 此属性接受一个数字,用于确定水平边框半径。
ry - 此属性接受一个数字,用于确定垂直边框半径。
示例 1
不使用 rx 和 ry 时的默认外观
让我们看一个代码示例,该示例将显示当不使用 rx 和 ry 属性时矩形对象的默认外观。
<!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>Default appearance when rx and ry is not used</h2>
<p>You can see that no curves have been added to the rectangle</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 rectangle object
var rect = new fabric.Rect({
left: 70,
top: 90,
width: 170,
height: 70,
fill: "#ffb347",
stroke: "#191970",
strokeWidth: 5,
padding: 7,
});
// Add it to the canvas
canvas.add(rect);
</script>
</body>
</html>示例 2
将rx和ry属性作为键传递
在此示例中,我们分别将 rx 和 ry 属性传递值 50 和 40。因此,我们的矩形对象将具有 50px 的水平边框半径和 40px 的垂直边框半径。
<!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>Passing rx and ry properties as key</h2>
<p>You can see that horizontal and vertical border radius have been added</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 rectangle object
var rect = new fabric.Rect({
left: 70,
top: 90,
width: 170,
height: 70,
fill: "#ffb347",
stroke: "#191970",
strokeWidth: 5,
padding: 7,
rx: 50,
ry: 40,
});
// Add it to the canvas
canvas.add(rect);
</script>
</body>
</html>
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP