Рисование для Canvas API [es6+] @2d
Использование
;; const canvas = document; const context = canvas;const size = Vector; // размеры холста const pointA = Vector; // координаты точекconst pointB = Vector; contextportsize stylestroke: 'red' fill: 'lime' ;
Фича
аналогично SVG, различия между lowercase и UPPERCASE методами в относительном или абсолютном смещении при рисовании
пример: рисуем одну и ту же линию двумя способами
// относительные значенияcontext // линия будет нарисована от (100,100) до (200,200) // координаты начальной точки // смещаемся на (100,100) от предыдущей точки ; // абсолютные значенияcontext // линия будет нарисована от (100,100) до (200,200) // координаты начальной точки // координаты конечной точки ;
Алгебраические преобразования (2D)
можно для удобства преобразовывать контекст рисования и восстанавливать его обратно
пример: нарисуем квадрат, повернутый на 45 градусов и потом еще один внутри
const size = Vector; // размеры квадратаconst center = Vector; // центр квадрата будет в этой точке context // сохраняем СК (0 -> 1) // перенос начала координат в точку (100, 100) // поворот на 45 градусов // сохраняем СК (1 -> 2) // поворот на 45 градусов // восстанавливаем СК (2 -> 1) ; // восстанавливаем СК (1 -> 0) // рисование