JSFiddle - React, Tailwind, and code Playground
by Steve Eberhardt
HTML
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<canvas id="c" width="250" height="250"></canvas>
<button id="rotate">rotate</button>
CSS
body {
font-family: sans-serif;
margin: 0;
}
canvas {
border: 1px solid red;
}
JavaScript
const points = [
{
"x": 0,
"y": 0
},
{
"x": 100,
"y": 100
},
{
"x": 0,
"y": 100
},
{
"x": 0,
"y": 0
}
]
const poly = new fabric.Rect();
poly.set({
top: 150,
left: 150,
width:100,
height: 100,
fill: "green",
flipX: true,
//flipY: true
})
var canvas = new fabric.Canvas("c");
var group = new fabric.Group();
window.group = group;
window.poly = poly;
canvas.add(group);
group.addWithUpdate(poly);
canvas.setActiveObject(group);
canvas.renderAll();
function rotate() {
const shape = group.item(0);
shape.set({
angle: shape.angle + 120
});
group.addWithUpdate();
group.setCoords();
canvas.renderAll();
}
document.getElementById("rotate").addEventListener("click", rotate);