# HTML5 рисование на Canvas
# Информация
# HTML
<canvas id="canvas" style="display: block; border: 2px solid black;">
Your browser is not supported
</canvas>
# Основы
# Выборка и получение контекста
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
canvas.width = 200;
canvas.height = 200;
//canvas.width = window.innerWidth;
//canvas.height = window.innerHeight;
# Общие свойства
ctx.fillStyle = 'yellowgreen';
ctx.strokeStyle = 'black';
ctx.lineWidth = 4;
# Объекты
# Rectangle
ctx.fillRect(0,0,100,100); // fill
ctx.strokeRect(0,0,100,100); // stroke
# Arc
ctx.beginPath();
ctx.arc(100, 100, 50, 0, Math.PI*2, false);
ctx.closePath();
ctx.fill(); // fill
ctx.stroke(); // stroke
arc()
1
- координаты центра окружности (x)2
- координаты центра окружности (y)3
- радиус4
- start angle (справа)5
- end angle (360deg = pi*2)6
- рисование по часовой (false) / против (true) часовой стрелки
# Line
, Path
ctx.beginPath();
ctx.moveTo(100, 100);
ctx.lineTo(100, 50);
ctx.lineTo(200, 100);
ctx.closePath();
ctx.moveTo(10, 10);
ctx.lineTo(70, 10);
ctx.lineTo(10, 70);
ctx.fill();
ctx.stroke();
# Text
ctx.textAlign = 'center';
ctx.font = '22px Arial';
ctx.fillText('Hello World', canvas.width/2, canvas.height/2); // по центру