Skip to content

Commit 397ee70

Browse files
committed
implement canvas
1 parent ec7f226 commit 397ee70

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

08 - Fun with HTML5 Canvas/index-START.html

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,54 @@
77
<body>
88
<canvas id="draw" width="800" height="800"></canvas>
99
<script>
10+
var canvas = document.querySelector('#draw');
11+
var ctx = canvas.getContext('2d');
12+
canvas.width = window.innerWidth;
13+
canvas.height = window.innerHeight;
14+
ctx.strokeStyle = '#BADA55';
15+
ctx.lineJoin = 'round';
16+
ctx.lineCap = 'round';
17+
ctx.lineWidth = 100;
18+
19+
var isDrawing = false;
20+
var lastX = 0;
21+
var lastY = 0;
22+
var hue = 0;
23+
var direction = true;
24+
25+
function draw (e) {
26+
if (!isDrawing) return;
27+
ctx.strokeStyle = `hsl(${hue}, 100%, 50%)`;
28+
ctx.beginPath();
29+
ctx.moveTo(lastX, lastY);
30+
ctx.lineTo(e.offsetX, e.offsetY);
31+
ctx.stroke();
32+
33+
[lastX, lastY] = [e.offsetX, e.offsetY];
34+
console.log(e);
35+
36+
hue++;
37+
if (hue >= 360) {
38+
hue = 0;
39+
}
40+
if (ctx.lineWidth >= 100 || ctx.lineWidth <= 1) {
41+
direction = !direction;
42+
}
43+
44+
if(direction) {
45+
ctx.lineWidth++;
46+
} else {
47+
ctx.lineWidth--;
48+
}
49+
}
50+
51+
canvas.addEventListener('mousedown', (e) => {
52+
isDrawing = true;
53+
[lastX, lastY] = [e.offsetX, e.offsetY];
54+
});
55+
canvas.addEventListener('mousemove', draw);
56+
canvas.addEventListener('mouseup', () => isDrawing = false);
57+
canvas.addEventListener('mouseout', () => isDrawing = false);
1058
</script>
1159

1260
<style>

0 commit comments

Comments
 (0)