JSFiddle - React, Tailwind, and code Playground
by nvivekgoyal
HTML
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<canvas id="c" width="600" height="600"></canvas>
<input type="text" class="add-text">
<button class="add-text-btn">Add Text</button>
<button class="save-btn">Save</button>
JavaScript
/**
* fabric.js template for bug reports
*
* Please update the name of the jsfiddle (see Fiddle Options).
* This templates uses latest dev verison of fabric.js (https://rawgithub.com/kangax/fabric.js/master/dist/all.js).
*/
// initialize fabric canvas and assign to global windows object for debug
var canvas = window._canvas = new fabric.Canvas('c');
fabric.Image.fromURL('http://fabricjs.com/assets/printio.png', function(img){
canvas.add(img.scale(1).set({ left: 0, top: 0, angle: 0, selectable: false}));
});
canvas.renderAll();
document.querySelectorAll('.add-text-btn')[0].addEventListener('click', function(){
var textToAdd = new fabric.Text(document.querySelectorAll('.add-text')[0].value, {
fontFamily: 'arial'
});
canvas.add(textToAdd);
});
/*$(canvas.wrapperEl).on('mousewheel', function(e) {
var target = canvas.findTarget(e);
var delta = e.originalEvent.wheelDelta / 400;
if (target) {
target.scaleX += delta;
target.scaleY += delta;
// constrain
if (target.scaleX < 0.1) {
target.scaleX = 0.1;
target.scaleY = 0.1;
}
// constrain
if (target.scaleX > 10) {
target.scaleX = 10;
target.scaleY = 10;
}
target.setCoords();
canvas.renderAll();
return false;
}
});*/