Drawing on a blackboard using JS

HTML
<div id="blackboard-frame"> <canvas id="blackboard" width="640" height="480"></canvas> </div>
CSS
#blackboard-frame { background-image: url("data:image/png;base64,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"); border-radius: 16px; margin: 20px auto 0; padding: 16px; width: 640px; } #blackboard { background-image: url("data:image/png;base64,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"); display: block; }
JAVASCRIPT
var canvas, ctx; var pimg, pattern; var curr_color, dctrl; function init() { dctrl = { drawing: false }; canvas = document.getElementById("blackboard"); canvas.style.cursor = "default"; canvas.addEventListener("mousedown", canvas_mousedown); canvas.addEventListener("mousemove", canvas_mousemove); canvas.addEventListener("mouseout", canvas_mouseout); canvas.addEventListener("mouseup", canvas_mouseup); ctx = canvas.getContext("2d"); ctx.lineWidth = 2; ctx.lineCap = "round"; pattern = ctx.createPattern(pimg, "repeat"); curr_color = "#6FC"; var message = "Start Drawing:)"; ctx.font = "bold 36px sans-serif"; ctx.textAlign = "center"; ctx.globalCompositeOperation = "source-over"; ctx.strokeStyle = curr_color; ctx.strokeText(message, 320, 40); ctx.globalCompositeOperation = "destination-out"; ctx.strokeStyle = pattern; ctx.strokeText(message, 320, 40); } function draw_line(x1, y1, x2, y2) { ctx.beginPath(); ctx.moveTo(x1, y1); ctx.lineTo(x2, y2); ctx.globalCompositeOperation = "source-over"; ctx.strokeStyle = curr_color; ctx.stroke(); ctx.globalCompositeOperation = "destination-out"; ctx.strokeStyle = pattern; ctx.stroke(); } function draw_line_ev(ev) { var rect = ev.target.getBoundingClientRect(); var mousex = ev.clientX - rect.left; var mousey = ev.clientY - rect.top; draw_line(dctrl.prevx, dctrl.prevy, mousex, mousey); dctrl.prevx = mousex; dctrl.prevy = mousey; } function canvas_mousedown(ev) { var rect = ev.target.getBoundingClientRect(); dctrl.drawing = true; draw_line(); dctrl.prevx = ev.clientX - rect.left; dctrl.prevy = ev.clientY - rect.top; } function canvas_mousemove(ev) { if(dctrl.drawing) { draw_line_ev(ev); } } function canvas_mouseout(ev) { if(dctrl.drawing) { draw_line_ev(ev); } dctrl.drawing = false; } function canvas_mouseup(ev) { dctrl.drawing = false; } pimg = new Image(); pimg.onload = init; pimg.src = "data:image/png;base64,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";
Expand for more options Login