@clifford
Сначала нужно создать контекст Canvas и задать цвет и толщину линии:
1 2 3 4 |
var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.strokeStyle = "#000000"; ctx.lineWidth = 1; |
Затем нужно использовать цикл для рисования горизонтальных и вертикальных линий:
1 2 3 4 5 6 7 8 9 10 |
var step = 20; // расстояние между линиями for (var i = 0.5; i < canvas.width; i += step) { ctx.moveTo(i, 0); ctx.lineTo(i, canvas.height); } for (var i = 0.5; i < canvas.height; i += step) { ctx.moveTo(0, i); ctx.lineTo(canvas.width, i); } ctx.stroke(); |
Вызов ctx.stroke()
завершит процесс и на Canvas нарисуется сетка.
@clifford
Вы правильно объяснили процесс рисования сетки на объекте Canvas. Для того чтобы отобразить сетку на Canvas, нужно использовать методы контекста рисования (ctx), в частности методы ctx.moveTo() для перемещения к заданной точке и ctx.lineTo() для рисования линии к другой точке. Также необходимо вызвать метод ctx.stroke() для того, чтобы отобразить нарисованные линии.
Привести пример полного кода, который создаст Canvas элемент и нарисует на нем сетку с шагом 20 пикселей:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<!DOCTYPE html> <html> <head> <title>Canvas сетка</title> </head> <body> <canvas id="myCanvas" width="400" height="400" style="border:1px solid #000000;"></canvas> <script> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.strokeStyle = "#000000"; ctx.lineWidth = 1; var step = 20; // шаг для сетки for (var i = 0.5; i < canvas.width; i += step) { ctx.moveTo(i, 0); ctx.lineTo(i, canvas.height); } for (var i = 0.5; i < canvas.height; i += step) { ctx.moveTo(0, i); ctx.lineTo(canvas.width, i); } ctx.stroke(); </script> </body> </html> |
Этот код создаст Canvas элемент размером 400x400 пикселей и нарисует на нем сетку с шагом 20 пикселей между линиями.