|
@@ -0,0 +1,18 @@
|
|
|
+# Canvas
|
|
|
+
|
|
|
+**Canvas** (холст) позволяет рисовать растр на прямоугольной части веб-страницы, представленной тэгом `canvas`.
|
|
|
+
|
|
|
+## Модель рисования.
|
|
|
+
|
|
|
+Модель отрисовки скопирована с **PostScript**, язык программирования для принтеров, который, в свою очередь так же стал в основе **PDF**. Целью подобной модели была векторная отрисовка на любом устройстве вывода,
|
|
|
+независимо от устройства и разрешения.
|
|
|
+
|
|
|
+### Пути
|
|
|
+
|
|
|
+**Path** - множество точек, и линий которые составляют ту или иную двумерную фигуру. Точки и кривые в путь добавляются последовательно, после чего путь *закрывается*, и может быть отрисован как контур (`stroke`) или
|
|
|
+залит тем или иным *паттерном* (`fill`). Настройка цвета и стиля во много схожа с **CSS**.
|
|
|
+
|
|
|
+### Координаты и афинные преобразования
|
|
|
+
|
|
|
+По умолчанию **Canvas** имеет координатную сетку, совпадающую с пикселем в браузере. Однако с помощью **афинных преобразований** вы можете модифицировать координатную сетку в любой момент для удобства отрисовки.
|
|
|
+Поддерживаются операции *смещения* (`translate`), масштабирования (`scale`) и вращения (`rotate`)
|