如何使用 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