Листинг 17.17

Рассмотрим листинг 17.17 по частям.

Сначала получаем канву cnv:

var elCanvas = Ext.get("cnv");

Затем получаем текущую ширину канвы:

var cnvWidth = elCanvas.getAttribute("width");

Рисуем горизонтальную линию, которая "вытянется" на всю ширину канвы и под-черкнет текст заголовка, который мы выведем потом:

Задаем шрифт текста. Берем его параметры из стиля переопределения тега <H1>, созданного нами в таблице стилей main.css:

ctx.font = "normal 20pt Arial";

Задаем для текста горизонтальное выравнивание по правому краю и вертикальное выравнивание по нижнему краю символов:

ctx.textAlign = "right";

ctx.textBaseline = "bottom";

Так нам будет проще вычислять координаты для вывода текста.

Задаем цвет заливки — он станет цветом выводимого текста:

ctx.fillStyle = "#3B4043";

Увеличиваем масштаб системы координат канвы:

ctx.scale(2, 1.3);

Отметим, что масштаб у горизонтальной оси координат больше, чем у вертикальной, — значит, текст будет растянут по горизонтали.

Выводим текст "Справочник по HTML и CSS" в виде заливки без контура:

ctx.fillText("Справочник по HTML и CSS", cnvWidth / 2, 60 / 1.3,cnvWidth / 2);

Отметим несколько моментов.

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

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

- Мы указали максимальную ширину выводимого текста, равной ширине канвы. Благодаря этому текст при любом изменении ширины окна Web-обозревателя не вылезет за края канвы (подробнее см. в разделе, посвященном выводу текста).

- Вероятно, это самый важный момент. Текст мы вывели после изменения масштаба системы координат, но значения координат, которые указали при выводе, принадлежат старой системе координат. Чтобы преобразовать их в новой системе координат, мы разделим их на соответствующие величины масштабов (2 и 1,3).

Выполнение функции drawHeader закончено.

Откройте Web-страницу в Web-обозревателе, посмотрите на новый логотип. Конечно, если постараться, можно сделать и лучше. Пусть это будет вашим заданием.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: