simple-drawing-board.js
Just simple minimal canvas drawing lib.
- 0 dependencies
- Mobile browser, IE11 compatibility
- Only 4.4KB(gzip)
Install
npm i simple-drawing-board
or
<script src="./path/to/dist/simple-drawing-board.min.js"></script>
How to use
<canvas id="canvas" width="500" height="300"></canvas>
const sdb = new SimpleDrawingBoard(document.getElementById('canvas'));
const sdb = new SimpleDrawingBoard(document.getElementById('canvas'), {
lineColor: '#000',
lineSize: 5,
boardColor: 'transparent',
historyDepth: 10
});
APIs
setLineSize
sdb.setLineSize(10);
sdb.setLineSize(0);
sdb.setLineSize(-1);
setLineColor
sdb.setLineColor('#0094c8');
sdb.setLineColor('red');
sdb.setLineColor('#0f0');
fill
sdb.fill('#000');
clear
sdb.clear();
toggleMode
sdb.toggleMode();
getImg
sdb.getImg();
setImg
sdb.setImg('data:image/png;base64,xxxxxx....');
sdb.setImg('data:image/png;base64,xxxxxx....', true);
undo
sdb.undo();
redo
sdb.redo();
dispose
sdb.dispose();
Events
Available events are below.
sdb.ev.on('toggleMode', function(isDrawMode) {
if (isDrawMode) {
console.log('Draw mode.');
} else {
console.log('Erase mode.');
}
});
sdb.ev.on('dispose', function() {
console.log('Do something on dispose.');
});
sdb.ev.on('drawBegin', function(coords) {
console.log(coords.x, coords.y);
});
sdb.ev.on('draw', function(coords) {
console.log(coords.x, coords.y);
});
sdb.ev.on('drawEnd', function(coords) {
console.log(coords.x, coords.y);
});
sdb.ev.on('save', function(curImg) {
console.log(curImg);
});
Alternatives
License
MIT