Draw a grid / table on HTML5 canvas

I searched everywhere and couldn't find how to draw a grid / table on HTML5 canvas. I am new to HTML5 and canvas.

I know how to draw shapes, but this drawing grid takes forever to understand.

Can someone help me? Your time is greatly appreciated.

+5
source share
2 answers

The answer is made here. A grid drawn using the <canvas> element looks stretched.

Just edited it a bit, hope it helps

<html>
<head>
<script type="text/javascript" language="javascript">
// Box width
var bw = 400;
// Box height
var bh = 400;
// Padding
var p = 10;

var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
function drawBoard(){
for (var x = 0; x <= bw; x += 40) {
    context.moveTo(0.5 + x + p, p);
    context.lineTo(0.5 + x + p, bh + p);
}


for (var x = 0; x <= bh; x += 40) {
    context.moveTo(p, 0.5 + x + p);
    context.lineTo(bw + p, 0.5 + x + p);
}

context.strokeStyle = "black";
context.stroke();
}

drawBoard();
</script>
</head>
<body style=" background: lightblue;">
    <canvas id="canvas" width="420px" height="420px" style="background: #fff; margin:20px"></canvas>
</body>
</html>
+15
source

It can also be written as:

 <html>
    <head>

    </head>
    <body style=" background: lightblue;">
        <canvas id="canvas" width="420px" height="420px" style="background: #fff;     magrin:20px;"></canvas>
        <script type="text/javascript" language="javascript">
    var bw = 400;
    var bh = 400;
    var p = 10;
    var cw = bw + (p*2) + 1;
    var ch = bh + (p*2) + 1;

    var canvas = document.getElementById("canvas");
    var context = canvas.getContext("2d");
    function drawBoard(){
    for (var x = 0; x <= bw; x += 40) {
        context.moveTo(0.5 + x + p, p);
        context.lineTo(0.5 + x + p, bh + p);
    }


    for (var x = 0; x <= bh; x += 40) {
        context.moveTo(p, 0.5 + x + p);
        context.lineTo(bw + p, 0.5 + x + p);
    }

    context.strokeStyle = "black";
    context.stroke();
    }

    drawBoard();
    </script>
    </body>
    </html>
+4
source

All Articles