jQuery addClass example
Change class name on click in jQuery
HTML
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<button>Crop</button>
<canvas id="canvas" width="500" height="500"></canvas>
JavaScript
// find elements
var button = $("button");
// handle click and add class
button.on("click", function(){
canvas.renderAll();
canvas.setDimensions({
width: selectionRect.getScaledWidth(),
height: selectionRect.getScaledHeight()
})
currentImage.set({
left: -selectionRect.left,
top: -selectionRect.top
})
canvas.remove(selectionRect);
canvas.renderAll();
});
var canvas = new fabric.Canvas('canvas');
canvas.preserveObjectStacking = true;
var selectionRect;
var currentImage;
fabric.Image.fromURL('https://www.sheffield.ac.uk/polopoly_fs/1.512509!/image/DiamondBasement.jpg', img => {
img.scaleToHeight(500);
img.selectable = true;
canvas.add(img);
currentImage = img;
canvas.backgroundColor = "#333";
addSelectionRect();
canvas.setActiveObject(selectionRect);
canvas.renderAll();
});
function addSelectionRect() {
selectionRect = new fabric.Rect({
fill: 'rgba(0,0,0,0.3)',
originX: 'left',
originY: 'top',
stroke: 'black',
opacity: 1,
width: currentImage.width,
height: currentImage.height,
hasRotatingPoint: false,
transparentCorners: false,
cornerColor: 'white',
cornerStrokeColor: 'black',
borderColor: 'black',
cornerSize: 12,
padding: 0,
cornerStyle: 'circle',
borderDashArray: [5, 5],
borderScaleFactor: 1.3
});
selectionRect.scaleToWidth(300);
canvas.centerObject(selectionRect);
selectionRect.visible = true;
canvas.add(selectionRect);
}