如何使用 FabricJS 创建带有背景颜色的矩形?
在本教程中,我们将使用 FabricJS 创建一个带有背景颜色的矩形。矩形是 FabricJS 提供的各种形状之一。为了创建矩形,我们必须创建一个 fabric.Rect 类的实例并将其添加到画布中。
backgroundColor 属性允许我们将颜色分配给对象的背景。它是矩形所在的容器的颜色,对于矩形来说是矩形形状。
语法
new fabric.Rect({ backgroundColor: String }: Object)
参数
选项(可选) - 此参数是一个 对象,它为我们的矩形提供额外的自定义。使用此参数,可以更改与矩形相关的颜色、光标、描边宽度和许多其他属性,其中 backgroundColor 是一个属性。
选项键
backgroundColor - 此属性接受 字符串 类型的值,该值将确定背景颜色。
示例 1
将 backgroundColor 属性作为键传递十六进制值
让我们看一个代码示例,使用十六进制值将背景颜色分配给我们的矩形对象。在此示例中,我们使用了十六进制颜色代码 #ffb347,它是一种橙色。
<!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 backgroundColor property as key with a hexadecimal value</h2> <p>You can see the new background colour on 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: 115, top: 50, width: 100, height: 70, fill: "rgba(255,255,255, 0.1)", borderColor: "black", backgroundColor: "#ffb347", }); // Add it to the canvas canvas.add(rect); </script> </body> </html>
示例 2
将 backgroundColor 属性作为键传递 RGBA 值
我们可以使用 RGBA 值代替十六进制颜色代码。alpha 参数指定颜色的不透明度。在此示例中,我们使用了 rgba 值 (207,16,32,0.9),它是颜色红色,不透明度为 0.9。
<!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 backgroundColor property as key with an RGBA value</h2> <p>You can see the new background colour on 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: 125, top: 90, width: 170, height: 70, fill: "rgba(255,255,255, 0.1)", borderColor: "black", backgroundColor: "rgba(207,16,32,0.9)", }); // Add it to the canvas canvas.add(rect); </script> </body> </html>
广告