#javascript #html5-canvas
Вопрос:
Я использую холст и рисую закрытую область и хочу, чтобы область была заполнена каким-то цветом. Вот как я это делаю. Я рисую замкнутую область линиями
- Я рисую линию (1)
- Следующая строка (2) начинается с конца предыдущей
- Последняя строка (3) начинается с конца строки (2) и заканчивается в начале строки (1)
Так что в результате я закрыл область и хочу заполнить ее каким-то цветом
Вот фрагмент кода, который я использовал:
context.fillStyle = '#8ED6FF';
context.fill();
Но это не работает. Вот код, который я использую для выполнения этой задачи.
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="978" height="900"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
// begin custom shape
context.beginPath();
// line (1)
context.moveTo(10, 10);
context.lineTo(190, 190);
// line (2)
context.moveTo(190, 190);
context.lineTo(200, 280);
// line (3)
context.moveTo(200, 280);
context.lineTo(10, 10);
// here I try fill the area by color
context.fillStyle = '#8ED6FF';
context.fill();
context.stroke();
</script>
</body>
</html>
Ответ №1:
Я нашел решение.
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="978" height="900"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
// begin custom shape
context.beginPath();
context.moveTo(70, 70);
context.lineTo(290, 290);
context.lineTo(300, 380);
context.closePath()
context.fillStyle = '#8ED6FF';
context.fill();
context.stroke();
</script>
</body>
</html>