如何使用 FabricJS 从 URL 字符串创建 fabric.Image 实例?
fabricjsjavascripthtml5 canvas
在本教程中,我们将学习如何使用 FabricJS 从 URL 字符串创建 fabric.Image 实例。我们可以通过创建 fabric.Image 实例来创建 Image 对象。由于它是 FabricJS 的基本元素之一,我们还可以通过应用角度、不透明度等属性轻松地对其进行自定义。为了从 URL 字符串创建 fabric.Image 的实例,我们使用 fromURL 方法。
语法
fromURL(url: String, callback: function, imgOptions: Object)
参数
url − 此参数接受一个字符串,表示要从中创建图像的 URL。
callback(可选) − 此参数是一个 函数,在创建图像后立即调用。对于此函数,新创建的图像作为第一个参数传递。第二个参数是一个布尔值,表示是否发生了错误。此参数是可选的。
imgOptions(可选) - 此参数是一个可选的对象,它为我们的图像提供额外的自定义。使用此参数原点、笔触宽度和许多其他与图像对象相关的属性都可以更改。
不使用fromURL方法
示例
让我们看一个代码示例,了解当不使用fromURL方法时,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 fromURL 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); // 初始化 image 图像元素 var imageElement = document.getElementById("img1"); // 初始化一个图像对象 var image = new fabric.Image(imageElement, { top: 50, left: 110, }); // 将其添加到画布 canvas.add(image); </script> </body> </html>
使用 fromURL 方法
示例
在此示例中,我们使用了 fromURL 方法来演示即使没有图像元素,我们也可以创建图像对象。在本例中,我们只需要图像的 URL,并将已创建的 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>Using the fromURL method</h2> <p> You can see that the image object can be created from the image URL itself </p> <canvas id="canvas"></canvas> <script> // 启动一个canvas实例 var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Calling fabric.Image.fromURL and passing the url of our desired image fabric.Image.fromURL( "https://www.tutorialspoint.com/images/logo.png", function(Img) { canvas.add(Img); } ); </script> </body> </html>
结论
在本教程中,我们使用了两个示例来演示如何使用 FabricJS 从 URL 字符串创建 fabric.Image 实例。