Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How to set the vertical scale factor of an Ellipse using FabricJS?
In this tutorial, we are going to learn how to set the vertical scale factor of an Ellipse using FabricJS. Ellipse is one of the various shapes provided by FabricJS. In order to create an ellipse, we have to create an instance of fabric.Ellipse class and add it to the canvas. Just as we can specify the position, color, opacity and dimension of an ellipse object in the canvas, we can also set the vertical scale of an ellipse object. This can be done by using the scaleY property.
Syntax
new fabric.Ellipse({ scaleY : Number }: Object)
Parameters
-
options (optional) ? This parameter is an Object which provides additional customizations to our ellipse. Using this parameter color, cursor, stroke width and a lot of other properties can be changed related to the object of which scaleY is a property.
Options Keys
-
scaleY ? This property accepts a Number value. The value that is assigned determines the vertical object scale factor. Its default value is 1.
Example 1: Default Appearance
Default appearance when scaleY is not used
The following example shows how the ellipse would appear when the scaleY property is not used. By default, the vertical scale factor of the ellipse object is 1. scaleY determines the transformation that resizes an object along the Y-axis.
<!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>Setting the vertical scale factor of an Ellipse using FabricJS</h2>
<p>Note that here we haven't set the vertical scale factor <b>scaleY</b> explicitly. By default, it is set to 1. </p>
<canvas id="canvas"></canvas>
<script>
// Initiate a canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate an ellipse instance
var ellipse = new fabric.Ellipse({
left: 115,
top: 50,
rx: 80,
ry: 50,
fill: "#ff1493",
});
// Adding it to the canvas
canvas.add(ellipse);
canvas.setWidth(document.body.scrollWidth);
canvas.setHeight(250);
</script>
</body>
</html>
Example 2: Using scaleY Property
Passing scaleY property as key
In this example, we are passing the scaleY property as a key with a value of 2. This means that the ellipse object's scale factor in the vertical direction is doubled.
<!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>Setting the vertical scale factor of an Ellipse using FabricJS</h2>
<p>Here we have set <b>scaleY</b> to 2, so the vertical scale factor of the ellipse doubled. </p>
<canvas id="canvas"></canvas>
<script>
// Initiate a canvas instance
var canvas = new fabric.Canvas("canvas");
// Initiate an ellipse instance
var ellipse = new fabric.Ellipse({
left: 115,
top: 50,
rx: 80,
ry: 50,
fill: "#ff1493",
scaleY: 2,
});
// Adding it to the canvas
canvas.add(ellipse);
canvas.setWidth(document.body.scrollWidth);
canvas.setHeight(250);
</script>
</body>
</html>
Key Points
The scaleY property controls vertical scaling along the Y-axis
Default value is 1 (no scaling)
Values greater than 1 stretch the ellipse vertically
Values less than 1 compress the ellipse vertically
Conclusion
The scaleY property in FabricJS allows you to control the vertical scaling of ellipse objects. By setting different values, you can stretch or compress ellipses along the Y-axis to achieve the desired visual effect.
