JavaScript. Подробное руководство, 6-е издание, стр. 466

<b>  if (с.isPointInPath(x,у)) с.fill();</b>

<b>}</b>

<b>void lineTo(double x, double y)</b>

Метод

<b>lineTo()</b>
добавляет прямую линию в текущий подконтур. Линия начинается в текущей позиции пера и заканчивается в точке с координатами (х,у). Когда этот метод возвращает управление, текущая позиция перемещается в точку (х,у).

<b>TextMetrics measureText(string text)</b>

Метод

<b>measureText()</b>
вычисляет ширину текста text, которую он займет при рисовании с текущим значением свойства
<b>font</b>
, и возвращает объект
<b>TextMetrics</b>
, содержащий результаты вычислений. На момент написания этих строк возвращаемый объект имел только одно свойство,
<b>width</b>
, а высота текста и параметры описывающего прямоугольника не вычислялись.

<b>void moveTo(double х, double у)</b>

Метод

<b>moveTo()</b>
переносит текущую позицию пера в точку (х,у) и создает новый подконтур с начальной точкой в этой точке. Если перед этим существовал подконтур, состоящий из единственной точки, этот пустой подконтур удаляется из текущего контура.

<b>void putImageData(ImageData imagedata, double dx<sub>t</sub> dy, [sx, sy, sw, sh])</b>

Метод

<b>putImageData()</b>
копирует прямоугольную область из объекта
<b>ImageData</b>
в холст. Он выполняет низкоуровневую операцию копирования пикселов, игнорируя значения свойств
<b>globalCompositeOperation</b>
и
<b>globalAlpha</b>
, а также область отсечки, матрицу преобразования и атрибуты, управляющие отображением тени.

Аргументы dx и dy определяют координаты назначения в холсте. Пикселы из объекта в аргументе

<b>imagedata</b>
будут копироваться в холст, начиная с этой точки. Значения этих аргументов не подвергаются преобразованию с применением текущей матрицы преобразования.

Последние четыре аргумента определяют исходную прямоугольную область в объекте

<b>ImageData</b>
. Скопированы будут только пикселы из указанной прямоугольной области. Если эти аргументы отсутствуют, объект
<b>ImageData</b>
 будет скопирован целиком. Если эти аргументы определяют прямоугольник, выходящий за границы объекта
<b>ImageData</b>
, прямоугольник будет обрезан по этим границам. В аргументах sx и sy допускается передавать отрицательные значения.

Одна из ролей объектов

<b>ImageData</b>
- служить «временным хранилищем» для содержимого холста. Сохранение копии холста (с использованием метода
<b>getImageData())</b>
позволяет временно наносить на холст изображения и затем восстанавливать прежнее состояние холста с помощью
<b>putlmageData().</b>

<b>void quadraticCurveTo(double срх, еру, х, у)</b>

Данный метод добавляет кривую Безье второго порядка в текущий подконтур. Начальная точка кривой находится в текущей позиции, а координаты конечной точки определяются аргументами х и у. Форма кривой Безье, соединяющей эти две точки, определяется контрольной точкой (срХ, cpY). По возвращении из метода текущей позицией становится точка (х,у). Обратите также внимание на метод

<b>bezierCurveTo().</b>

<b>void rect(double х, у, tv, h)</b>

Добавляет в контур прямоугольник. Прямоугольник представляет собой отдельный подконтур, который никак не связан ни с одним из имеющихся подконтуров. По возвращении из метода текущей позицией становится точка (х,у). Вызов этого метода эквивалентен следующей последовательности вызовов:

<b>с.moveTo(x,у);</b>

<b>с.lineTo(x+w, у);</b>

<b>с.lineTo(x+w, y+h);</b>

<b>c.lineTo(x, y+h);</b>

<b>c.closePath();</b>

<b>void restore()</b>

Метод снимает с вершины стека значения параметров холста и записывает их в свойства объекта

<b>CanvasRenderingContext2D</b>
, восстанавливая область отсечки и матрицу преобразования. Дополнительные сведения см. в справочной статье save().void

<b>rotate(double angle)</b>

Данный метод изменяет текущую матрицу преобразования таким образом, что любые фигуры, нарисованные после вызова этого метода, выглядят повернутыми на указанный угол. Этот метод не выполняет вращение самого элемента

<b>&lt;canvas&gt;.</b>
Обратите внимание: угол задается в радианах. Чтобы преобразовать градусы в радианы, нужно умножить величину угла на константу
<b>Math. PI</b>
и разделить на число 180.

<b>void save()</b>

Метод

<b>save()</b>
помещает копию текущих параметров холста на вершину стека сохраняемых параметров. Это позволяет внести временные изменения в какие-либо параметры и затем восстановить предыдущие значения вызовом метода
<b>restore().</b>
В перечень сохраняемых параметров входят все свойства объекта
<b>CanvasRenderingContext2D</b>
(за исключением доступного только для чтения свойства
<b>canvas</b>
), а также матрица преобразования, которая является результатом вызова методов
<b>rotate(), scale()</b>
и
<b>translate()</b>
. Кроме того, в стеке сохраняется область отсечки, созданная методом
<b>clip()</b>
. Однако следует заметить, что текущие контур и позиция пера не входят в данный перечень и этим методом не сохраняются,

<b>void scale(double sx, double sy)</b>

Метод

<b>scale()</b>
добавляет преобразование масштаба в текущую матрицу преобразования холста. Масштабирование выполняется отдельно по горизонтали и по вертикали. Например, если передать методу значения 2.0 и 0.5, все последующие фигуры будут иметь в два раза большую ширину и в два раза меньшую высоту по сравнению с тем, как они выглядели бы, если бы они были нарисованы до вызова метода
<b>scale().</b>
Отрицательные значения аргумента sx вызывают зеркальное отражение координат относительно оси Y, а отрицательные значения аргумента sy вызывают зеркальное отражение координат относительно оси X.