Чтение онлайн

на главную - закладки

Жанры

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

c.lineTo(x, y+h);

c.closePath;

void restore

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

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

rotate(double angle)

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

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

void save

Метод

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

void scale(double sx, double sy)

Метод

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

void setTransform(double a, b, с, d, е, f)

Этот метод позволяет напрямую установить матрицу преобразования, не выполняя последовательность вызовов методов

translate, scale
и
rotate.
После вызова этого метода новое преобразование будет иметь вид:

х' а с е х = ах+су+е

y' = b d f x y = bx+dy+f

1 0 0 1 1

void stroke

Метод

stroke
выполняет рисование линий, составляющих текущий контур. Контур определяет лишь геометрию линии, которая должна быть воспроизведена, а визуальное ее представление зависит от значений свойств
strokeStyle, lineWidth, lineCap, lineJoin
и
miterLimit
.

Под термином stroke (чертить) понимается вычерчивание линий пером или кистью. Это означает «нарисовать контур». В противовес методу

stroke,
метод
fill
выполняет заливку внутренней области без рисования ее контура,

void strokeRect(double х, у, tv, h)

Рисует контур (не выполняя заливку внутренней области) прямоугольника с заданными координатами и размерами. Цвет и толщина линий определяются значениями свойств

strokeStyle
и
lineWidth
. Стиль оформления сопряжений в углах прямоугольника определяется значением свойства
lineJoin
.

В отличие от метода

rect,
метод
strokeRect
не оказывает влияния на текущий контур или текущую позицию пера,

void strokeText(string text, double x, у, [maxWidth])

Метод

strokeText
действует подобно методу
fillText,
за исключением того, что он не выполняет заливку отдельных символов в соответствии со значением свойства
fillStyle
, а рисует только контуры каждого символа, учитывая значение свойства
strokeStyle
. Для шрифтов большого размера метод
strokeText
обеспечивает интересный графический эффект, но на практике для рисования текста чаще используется метод
fillText.

void transform(double a, b, с, d, е, f)

Аргументы этого метода определяют шесть нетривиальных элементов матрицы Т аффинного преобразования размером 3x3:

а с е

b d f

0 0 1

Метод

transform
умножает текущую матрицу преобразования на матрицу Т и принимает результат в качестве текущей матрицы преобразования:

СТМ' = СТМ X T

В терминах универсального метода

transform
можно реализовать операции смещения, масштабирования и вращения. Чтобы выполнить смещение, можно произвести вызов
transform(1,0,0,1,dx,dy)
. Чтобы выполнить масштабирование -
transform(sx, 0, 0, sy, 0, 0)
. Для выполнения вращения по часовой стрелке на угол х:

transform(cos(x),sin(x),-sin(x), cos(x), 0, 0)

Поделиться:
Популярные книги

Я снова царь. Книга XXXIII

Дрейк Сириус
33. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я снова царь. Книга XXXIII

Я С СССР! Том III

Вязовский Алексей
3. Я спас СССР
Фантастика:
альтернативная история
5.86
рейтинг книги
Я С СССР! Том III

Deus vult

Рокотов Алексей
3. Путь князя
Фантастика:
фэнтези
рпг
попаданцы
5.00
рейтинг книги
Deus vult

Курс 1. Сентябрь

Фокс Гарри
1. Маркатис
Фантастика:
аниме
фэнтези
сказочная фантастика
5.00
рейтинг книги
Курс 1. Сентябрь

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Одержимая (авторский сборник)

Дяченко Марина и Сергей
Фантастика:
фэнтези
научная фантастика
7.80
рейтинг книги
Одержимая (авторский сборник)

Воин-Врач

Дмитриев Олег
1. Воин-Врач
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
6.00
рейтинг книги
Воин-Врач

История США от глубокой древности до 1918 года

Азимов Айзек
Популярная наука от Азимова
Научно-образовательная:
история
5.00
рейтинг книги
История США от глубокой древности до 1918 года

Законник Российской Империи. Том 2

Ткачев Андрей Юрьевич
2. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
дорама
6.40
рейтинг книги
Законник Российской Империи. Том 2

Господин из завтра. Тетралогия.

Махров Алексей
Фантастика:
альтернативная история
8.32
рейтинг книги
Господин из завтра. Тетралогия.

Меткий стрелок

Вязовский Алексей
1. Меткий стрелок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Меткий стрелок

Родословная. Том 1

Ткачев Андрей Юрьевич
1. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Родословная. Том 1

Солдат Империи

Земляной Андрей Борисович
1. Страж
Фантастика:
попаданцы
альтернативная история
6.67
рейтинг книги
Солдат Империи

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I