Fabric.js is a JavaScript library that is used to work with canvas. The canvas ActiveSelection is one of the class of fabric.js that is used to create ActiveSelection instances. The canvas ActiveSelection means the ActiveSelection is movable and can be stretched according to requirement. In this article, we will be using lockMovementX property to lock the horizontal movement.
First import the fabric.js library. After importing the library, create a canvas block in the body tag which will contain the ActiveSelection. After this, initialize an instance of Canvas and ActiveSelection class provided by Fabric.JS and use the lockMovementX property to lock the horizontal movement.
Syntax:
fabric.ActiveSelection(ActiveSelection, { lockMovementX : boolean });
Parameters: This property takes a single parameter as mentioned above and described below:
- lockMovementX: This parameter takes a boolean value. It specifies whether to lock horizontal movement of canvas.
Example: This example uses FabricJS to set the lockMovementX property of the canvas ActiveSelection as shown in the below example.
HTML
<!DOCTYPE html> < html > < head > <!-- FabricJS CDN --> < script src = </ script > </ head > < body > < div style = "text-align: center;width: 400px;" > < h1 style = "color: green;" > neveropen </ h1 > < b > Fabric.js | ActiveSelection lockMovementX Property </ b > </ div > < div style = "text-align: center;" > < canvas id = "canvas" width = "500" height = "500" style = "border:1px solid green;" > </ canvas > </ div > < img src = width = "100" height = "100" id = "my-image" style = "display: none;" > < script > var canvas = new fabric.Canvas("canvas"); // Initiate a Rect instance var rectangle = new fabric.Rect({ width: 200, height: 100, }); canvas.add(rectangle); var geek = new fabric.IText('neveropen', { }); canvas.add(geek); canvas.centerObject(geek); var gfg = new fabric.ActiveSelection(canvas.getObjects(), { lockMovementX : true }); canvas.setActiveObject(gfg); canvas.requestRenderAll(); canvas.centerObject(gfg); </ script > </ body > </ html > |
Output: