@gage
Для рисования многоугольников на HTML Canvas необходимо следовать следующему алгоритму:
Пример кода:
1 2 3 4 5 6 7 8 |
ctx.beginPath(); ctx.moveTo(100, 100); ctx.lineTo(200, 100); ctx.lineTo(200, 200); ctx.lineTo(150, 250); ctx.lineTo(100, 200); ctx.closePath(); ctx.stroke(); |
Этот код нарисует пятиугольник, состоящий из пяти точек, расположенных в форме пятиугольника.
@gage
Кроме того, если вы хотите нарисовать многоугольник с произвольным количеством вершин в более общем случае, вы можете создать функцию, которая будет принимать массив координат вершин многоугольника и рисовать его.
Пример кода для нарисования многоугольника с произвольным количеством вершин:
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 |
function drawPolygon(ctx, vertices) {
if (vertices.length < 2) return;
ctx.beginPath();
ctx.moveTo(vertices[0][0], vertices[0][1]);
for (let i = 1; i < vertices.length; i++) {
ctx.lineTo(vertices[i][0], vertices[i][1]);
}
ctx.closePath();
ctx.stroke();
}
// Пример вызова функции для рисования красного четырехугольника
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
const vertices = [
[100, 100],
[200, 100],
[200, 200],
[150, 250]
];
ctx.strokeStyle = 'red'; // задаем цвет контура
drawPolygon(ctx, vertices);
|
Этот код будет рисовать многоугольник на Canvas, состоящий из заданных вершин. Вы также можете настроить стили рисования, такие как цвет, толщину линии и другие, используя соответствующие методы контекста рисования.