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

<b>double shadowBlur</b>

Определяет степень размытия краев тени. Значение по умолчанию - 0; при этом тень воспроизводится с резкими краями. Чем больше значение, тем более размытый край тени получается. Имейте в виду, что это значение измеряется не в пикселах и не подвержено действию текущего преобразования системы координат,

<b>string shadowColor</b>

Определяет цвет тени в формате CSS. По умолчанию используется черный прозрачный цвет,

<b>double shadowOffsetX </b>

<b>double shadowOffsetY</b>

Определяют горизонтальное и вертикальное смещение теней. Чем больше смещение, тем выше объект с тенью кажется расположенным над фоном. Значение по умолчанию: 0. Эти значения измеряются в единицах системы координат и не зависят от текущего преобразования,

<b>any strokeStyle</b>

Определяет цвет, шаблон или градиент, используемый для рисования контуров. Это свойство может принимать строку с обозначением цвета в формате CSS либо объект

<b>CanvasGradient</b>
или
<b>CanvasPattern</b>
.

<b>string textAlign</b>

Определяет выравнивание текста по горизонтали относительно координаты X, передаваемой методам

<b>fillText()</b>
и
<b>strokeText().</b>
Допустимыми значениями являются «left», «center», «right», «start» и «end». Смысл значений «start» и «end» зависит от атрибута
<b>dir</b>
(направление письма) тега
<b>&lt;canvas&gt;.</b>
Значение по умолчанию - «start»,

<b>string textBaseline</b>

Определяет выравнивание текста по вертикали относительно координаты Y, передаваемой методам

<b>fillText()</b>
и
<b>strokeText()</b>
. Допустимыми значениями являются «top», «middle», «bottom», «alphabetic», «hanging» и «ideographic». Значение по умолчанию - «alphabetic».

Методы

<b>void arc(double x,у,radius,startAngle,endAngle, [boolean anticlockwise])</b>

Добавляет в текущий подконтур дугу с заданными центром окружности и радиусом. Первые три аргумента этого метода описывают координаты центра и радиус окружности. Следующие два аргумента- это углы, определяющие начальную и конечную точки дуги на окружности. Углы измеряются в радианах. Позиция, соответствующая трем часам на циферблате, т.е. положительной оси X, имеет угол 0. Углы увеличиваются по направлению часовой стрелки. Последний аргумент определяет направление рисования дуги - против часовой стрелки (true) или по часовой стрелке (false).

<b>void arcTo(double x1, y1, x2, y2, radius)</b>

Добавляет в текущий подконтур прямую линию и дугу, описывая эту дугу таким образом, что этот метод особенно удобно использовать для рисования закругленных углов многоугольников. Аргументы х1 и у1 определяют точку Р1, а аргументы х2 и у2 - точку Р2. Дуга, добавляемая в контур, является частью окружности с радиусом radius. Начальная точка дуги соответствует точке пересечения с касательной, соединяющей текущую позицию пера и точку Р1, а конечная соответствует точке пересечения с касательной, соединяющей точки Р1 и Р2. Дуга соединяет начальную и конечную точки в кратчайшем направлении. Перед добавлением дуги в контур этот метод добавляет отрезок прямой линии, соединяющий текущую позицию пера с начальной точкой дуги. После вызова этого метода текущей позицией пера является конечная точка дуги, расположенная на линии между точками Р1 и Р2.

Нарисовать квадрат размером 100 х 100 с закругленными углами (с разными радиусами), с помощью объекта контекста с можно следующим образом:

<b>с.beginPath();</b>

<b>c.moveTo(150, 100);           // Начать с середины верхнего края</b>

<b>с.агсТо(200,100, 200,200,40); // Верхний край и закругленный правый верхний угол</b>

<b>с.агсТо(200,200,100,200,30);  // Правый край и правый нижний угол с закруглением</b>

<b>                              // меньшего радиуса</b>

<b>с.агсТо(100,200,100,100, 20); // Нижний край и закругленный левый нижний угол </b>

<b>с.агсТо(100,100,200,100,10);  // Левый край и закругленный левый верхний угол</b>

<b>с.closePath();                // Нарисовать отрезок до начальной точки.</b>

<b>c.stroke();                   // Вывести контур</b>

<b>void beginPath()</b>

Метод

<b>beginPath()</b>
отменяет любое существующее определение контура и начинает новый. После вызова
<b>beginPath()</b>
текущая позиция пера не определена.

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

<b>beginPath()</b>
.

<b>void bezierCurveTo(double ср1х, ср1у,ср2х, ср2у, х, у)</b>

Метод

<b>bezierCurveTo()</b>
добавляет в текущий подконтур холста кривую Безье третьего порядка. Начальная точка кривой находится в текущей позиции пера, а координаты конечной точки определяются аргументами х и у. Форма кривой Безье определяется контрольными точками (срХ1, cpY1) и (срХ2, cpY2). По возвращении из метода текущей позицией становится точка (х, у).

<b>void clearRect(double х, у, width, height)</b>

Метод

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

<b>void clip()</b>

Вычисляет пересечение внутренней области текущего контура с текущей областью отсечки и использует эту полученную область как новую область отсечки. Обратите внимание, что нет никакого способа увеличить область отсечки. Если область отсечки требуется лишь на время, сначала следует вызвать метод

<b>save(),</b>
чтобы затем с помощью
<b>restore()</b>
восстановить прежнюю область отсечки. По умолчанию область отсечки совпадает с границами холста.

<b>void GlosePath()</b>

Если текущий подконтур еще не был замкнут, метод

<b>сlosePath()</b>
замыкает его добавлением линии, соединяющей текущую и начальную точки контура. После чего начинает новый подконтур (как если бы был вызван метод
<b>moveTo()</b>
) в текущей точке  Методы
<b>fill()</b>
и
<b>clip()</b>
считают все подконтуры замкнутыми, поэтому явно вызывать метод
<b>closePath()</b>
необходимо, только если требуется нарисовать замкнутый контур.