如何使用 FabricJS 為文字新增描邊?


在本教程中,我們將學習如何使用 FabricJS 為文字新增描邊。我們可以透過新增 fabric.Text 的例項來在畫布上顯示文字。它不僅允許我們移動、縮放和更改文字的尺寸,還提供其他功能,例如文字對齊、文字修飾、行高,分別可以透過 textAlign、underline 和 lineHeight 屬性獲得。我們可以使用 stroke 屬性新增描邊。

語法

new fabric.Text(text: String, { stroke: String }: Object)

引數

  • text − 此引數接受一個字串,即我們要顯示的文字字串。

  • options (可選) − 此引數是一個物件,它為我們的文字提供額外的自定義選項。使用此引數,可以更改與物件相關的許多屬性,例如顏色、游標、描邊寬度等,其中描邊是屬性之一。

選項鍵

  • stroke − 此屬性接受一個字串,用於確定該物件邊框的顏色。

示例 1

將 stroke 屬性作為鍵傳遞,並使用十六進位制值

讓我們來看一個程式碼示例,瞭解當使用 stroke 屬性時我們的文字物件是如何顯示的。十六進位制顏色程式碼以 # 開頭,後跟六位數字,表示一種顏色。在本例中,我們使用了“#ffc0cb”,即粉紅色。

<!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 stroke property as key with a hexadecimal value</h2> <p>You can see that the stroke around the text is of pink colour</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 text object var text = new fabric.Text("Add Sample Text Here", { top: 70, left: 50, fontStyle: "bold", fill: "black", stroke: "#ffc0cb", }); // Add it to the canvas canvas.add(text); </script> </body> </html>

示例 2

將 rgba 值傳遞給 stroke 屬性

在本例中,我們將瞭解如何將 rgba 值分配給 stroke 屬性。我們可以使用 RGBA 值代替十六進位制顏色程式碼,它代表:紅色、綠色、藍色和 alpha。alpha 引數指定顏色的不透明度。在本例中,我們傳遞了 rgba 值 (0,128,0,1),即不透明度為 1 的綠色。

<!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 an rgba value to the stroke property</h2> <p>You can see that the stroke around the text is of green colour</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 text object var text = new fabric.Text("Add Sample Text Here", { top: 70, left: 50, fontStyle: "bold", fill: "black", stroke: "rgba(0,128,0,1)", }); // Add it to the canvas canvas.add(text); </script> </body> </html>

更新於: 2022年9月13日

213 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.