如何使用 FabricJS 将 Image 对象置于画布当前视口的中心?

在本教程中,我们将学习如何将图像对象置于当前视口的中心 使用 FabricJS 绘制画布。我们可以通过创建一个实例来创建一个 Image 对象 织物.图像。由于它是FabricJS的基本元素之一,我们也可以轻松地 通过应用角度、不透明度等属性来自定义它。为了使图像居中 画布当前视口上的对象,我们使用 viewportCenter 方法。
语法
viewportCenter(): fabric.Object
Image 对象的默认外观
示例
让我们看一个代码示例,看看当 viewportCenter 方法没有被使用。在这种情况下,图像对象将不会在画布上居中。
<!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>Default appearance of the Image object</h2>
<p>
You can see that the image object is not centered with respect to the current viewport of canvas
</p>
<canvas id="canvas"></canvas>
<img src="https://www.tutorialspoint.com/images/logo.png" id="img1" style="display: none" />
<script>
// Initiate a canvas instance
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,
});
// Add it to the canvas
canvas.add(image);
</script>
</body>
</html>
使用viewportCenter方法
示例
让我们看一个代码示例,看看图像对象在 使用viewportCenter方法。在这种情况下,我们的图像对象将以 垂直和水平方向均相对于画布的当前视口。
<!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 viewportCenter method</h2>
<p>
You can see that the image object is centered with respect to the current viewport of canvas
</p>
<canvas id="canvas"></canvas>
<img src="https://www.tutorialspoint.com/images/logo.png" id="img1" style="display: none" />
<script>
// Initiate a canvas instance
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,
});
// Add it to the canvas
canvas.add(image);
// Using the viewportCenter method
image.viewportCenter();
</script>
</body>
</html>
结论
在本教程中,我们使用两个示例来演示如何使图像对象居中或 使用 FabricJS 画布上的当前视口。
javascript