<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><canvas>.</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.