如何使用 FabricJS 建立帶有橢圓的畫布?
在本教程中,我們將學習如何使用 FabricJS 建立帶有橢圓物件的畫布。橢圓是 FabricJS 提供的各種形狀之一。為了建立橢圓,我們將建立一個 fabric.Ellipse 類的例項並將其新增到畫布中。
語法
new fabric.Ellipse({ rx: Number, ry: Number }: Object)引數
options (可選) − 此引數是一個物件,它為我們的橢圓提供了額外的自定義功能。使用此引數,可以更改與橢圓物件相關的顏色、游標、筆觸寬度以及許多其他屬性,其中 rx 和 ry 是屬性。
選項鍵
rx − 此屬性接受一個 數字,用於確定橢圓的水平半徑。如果我們沒有指定水平半徑,我們的橢圓將不會顯示在畫布上。
ry − 此屬性接受一個 數字,用於確定橢圓的垂直半徑。如果我們沒有指定垂直半徑,我們的橢圓將不會顯示在畫布上。
示例 1
建立 fabric.Ellipse() 的例項並將其新增到我們的畫布中
讓我們來看一個如何將橢圓新增到畫布的示例。在這裡,我們建立了一個水平半徑為 80px,垂直半徑為 50px 的物件。我們使用了天藍色填充我們的物件,其十六進位制值為 #87ceeb。
<!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>How to create a canvas with an ellipse using FabricJS?</h2>
<p>Here we have created an ellipse object and set it over a canvas.</p>
<canvas id="canvas"></canvas>
<script>
// Initiate a canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate an Ellipse instance
var ellipse = new fabric.Ellipse({
left: 115,
top: 100,
fill: "#87ceeb",
rx: 80,
ry: 50,
});
// Adding it to the canvas
canvas.add(ellipse);
canvas.setWidth(document.body.scrollWidth);
canvas.setHeight(250);
</script>
</body>
</html>示例 2
使用 set 方法操作橢圓物件
在此示例中,我們使用 set 方法(值的 setter)為橢圓分配了屬性。可以使用此方法修改與筆觸、筆觸寬度、半徑、縮放、旋轉等相關的任何屬性。
<!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>How to create a canvas with an ellipse using FabricJS?</h2>
<p>Here we have used the <b>set</b> method to create an ellipse object over the canvas. </p>
<canvas id="canvas"></canvas>
<script>
// Initiate a canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate an Ellipse instance
var ellipse = new fabric.Ellipse();
// Using set to set the properties
ellipse.set("rx", 90);
ellipse.set("ry", 40);
ellipse.set("fill", "#1e90ff");
ellipse.set({
stroke: "rgba(245,199,246,0.5)",
strokeWidth: 6
});
ellipse.set("left", 150);
ellipse.set("top", 90);
// Adding it to the canvas
canvas.add(ellipse);
canvas.setWidth(document.body.scrollWidth);
canvas.setHeight(250);
</script>
</body>
</html>
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP