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><b>dir</b><b><canvas>.</b><b>string textBaseline</b>Определяет выравнивание текста по вертикали относительно координаты Y, передаваемой методам
<b>fillText()</b><b>strokeText()</b>Методы
<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><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>