如何使用 FabricJS 查找图像的原始大小?

fabricjsjavascripthtml5 canvas

在本教程中,我们将学习如何使用 FabricJS 查找图像的原始大小。我们可以通过创建 fabric.Image 实例来创建图像对象。由于它是 FabricJS 的基本元素之一,我们还可以通过应用角度、不透明度等属性轻松自定义它。为了找到图像的原始大小,我们使用 getOriginalSize 方法。

语法

getOriginalSize():Object 

使用 getOriginalSize 方法

示例

在此示例中,我们使用 getOriginalSize 方法获取图像的宽度和高度值。这里返回的宽度和高度值分别是 311 和 82。

<!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 getOriginalSize method</h2> <p> You can open the console from dev tools to see that the logged output contains the height and width of the Image </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, skewX: 15, }); // 将其添加到画布 canvas.add(image); // 使用 getOriginalSize 方法 console.log( "The original size of the Image object is: ", image.getOriginalSize() ); </script> </body> </html>

getOriginalSize 方法与 cropX 属性结合使用

示例

让我们看一个代码示例,其中显示了将 getOriginalSize 方法与 cropX 属性结合使用时记录的输出。在这里,我们已将值 50 传递给 cropX。因此,我们的 Image 对象将在 x 方向上从原始图像大小中裁剪 50px。但是,当我们使用 getOriginalSize 方法时,我们分别返回宽度和高度值 311 和 82,这进一步证明 getOriginalSize 将仅返回图像的原始大小。

<!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 getOriginalSize method along with cropX property</h2> <p> You can open the console from dev tools to see that the original size of the image will be returned regardless of having applied image cropping in xdirection </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, skewX: 15, cropX: 50, }); // 将其添加到画布 canvas.add(image); // 使用 getOriginalSize 方法 console.log( "The original size of the Image object is: ", image.getOriginalSize() ); </script> </body> </html>

相关文章