FabricJS – 如何从其对象表示创建 fabric.Image 的实例?
fabricjsjavascripthtml5 canvas
在本教程中,我们将展示如何使用 FabricJS 从其对象表示创建 fabric.Image 的实例。我们可以通过创建 fabric.Image 的实例来创建 Image 对象。由于它是 FabricJS 的基本元素之一,我们还可以通过应用角度、不透明度等属性轻松地对其进行自定义。为了从其对象表示中创建 fabric.Image 的实例,我们使用 fromObject 方法。
语法
fromObject(object: Object, callback: function)
参数
object − 此参数接受一个对象,该对象表示将从中创建图像的对象。
callback − 此参数是一个函数,将在创建图像实例时调用。
不使用 fromObject 方法
示例
让我们看一个代码示例不使用 fromObject 方法时 Image 对象如何显示。在这种情况下,我们只需要创建 fabric.Image 的实例并将其添加到我们的画布中。
<!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>Without using the fromObject method</h2> <p>You can see that the image object has been added to the canvas</p> <canvas id="canvas"></canvas> <img src="https://www.tutorialspoint.com/images/logo.png" id="img1" style="display: none" /> <script> // 启动一个canvas实例 var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiating the image element var imageElement = document.getElementById("img1"); // Initiate an Image object var image = new fabric.Image(imageElement, { top: 50, left: 110, }); // 将其添加到画布 canvas.add(image); </script> </body> </html>
使用 fromObject 方法
示例
在此示例中,我们使用 fromObject 方法来演示即使没有图像元素,我们也可以创建图像对象。在这种情况下,我们需要从中创建图像实例的对象。之后,将调用回调函数并将其添加到画布中。
<!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>Using the fromObject method</h2> <p>You can see that the image has been added</p> <canvas id="canvas"></canvas> <script> // 启动一个canvas实例 var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Using fromObject method fabric.Image.fromObject({ type: "image", version: "5.1.0", originX: "left", originY: "top", left: 110, src: "https://www.tutorialspoint.com/images/logo.png", }, function(oImg) { oImg.set("top", 50); canvas.add(oImg); } ); </script> </body> </html>
结论
在本教程中,我们使用了两个示例来演示如何使用 FabricJS 从其对象表示创建 fabric.Image 的实例。