如何使用 FabricJS 設定橢圓的最小允許縮放值?
在本教程中,我們將學習如何使用 FabricJS 設定橢圓的最小允許縮放比例。橢圓是 FabricJS 提供的各種形狀之一。為了建立橢圓,我們將建立 fabric.Ellipse 類的例項並將其新增到畫布中。我們可以透過新增填充顏色、消除邊框甚至更改其尺寸來自定義橢圓物件。類似地,我們還可以使用 minScaleLimit 屬性設定其最小允許縮放比例。
語法
new fabric.Ellipse({ minScaleLimit : Number }: Object)
引數
options (可選) - 此引數是一個 物件,它為我們的橢圓提供了額外的自定義選項。使用此引數,可以更改與物件的許多屬性相關聯的顏色、游標、邊框寬度以及其他許多屬性,其中 minScaleLimit 就是一個屬性。
選項鍵
minScaleLimit - 此屬性接受一個 數字 作為值,允許我們控制橢圓的最小允許縮放比例。
示例 1
橢圓物件的預設外觀
讓我們來看一個示例,瞭解當不使用 minScaleLimit 屬性時,我們的橢圓物件是什麼樣的。在這種情況下,我們將能夠自由地縮放我們的物件,因為沒有設定最小限制。
<!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 set the minimum allowed scale value of Ellipse using FabricJS?</h2> <p>Here you can select the object and scale it up freely to any extent, as we have not used the <b>minScaleLimit</b> property. </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: 50, rx: 80, ry: 50, fill: "#ff1493", }); // Adding it to the canvas canvas.add(ellipse); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); </script> </body> </html>
示例 2
將 minScaleLimit 屬性作為鍵並帶有自定義值傳遞
在本例中,我們將看到將值分配給 minScaleLimit 屬性如何更改畫布中橢圓物件的最小允許縮放值。這裡我們使用了 0.8 作為值,這意味著我們將無法將物件縮小到小於 64px 的水平半徑和 40px 的垂直半徑,這是透過 **半徑 * 限制** 計算出來的 (0.8 * 80 = 64px,0.8 * 50 = 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>How to set the minimum allowed scale value of Ellipse using FabricJS?</h2> <p>Select the object and try to scale it down. Here we have set the <b>minScaleLimit</b> to 0.8 beyond which the ellipse cannot be reduced further in size. </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: 50, rx: 80, ry: 50, fill: "#ff1493", minScaleLimit: 0.8, }); // Adding it to the canvas canvas.add(ellipse); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); </script> </body> </html>
廣告