Перемещение начала координат канвы
Перемещение начала координат канвы
Мы можем переместить начало координат канвы в любую другую ее точку. После этого все координаты будут отсчитываться от нового начала координат.
Для перемещения начала координат канвы в другую точку достаточно вызвать метод translate:
<контекст рисования>.translate(<горизонтальная координата>,<вертикальная координата>)
Параметры метода translate определяют координаты точки, в которой должно находиться новое начало координат канвы. Они отсчитываются от текущего начала координат, измеряются в пикселах и задаются в виде чисел. Метод не возвращает результата.
При перемещении начала координат канвы будут учитываться все трансформации, примененные к канве ранее. Значит, если мы ранее переместили начало координат в точку [50,50] и теперь снова перемещаем его, уже в точку [100,50], в результате начало координат окажется в точке [150,100], если отсчитывать от верхнего левого угла канвы (начала системы координат по умолчанию).
Листинг 22.12 иллюстрирует пример.
Листинг 22.12
ctxCanvas.save();
ctxCanvas.translate(100, 100);
ctxCanvas.fillRect(0, 0, 50, 50);
ctxCanvas.translate(100, 100);
ctxCanvas.fillRect(0, 0, 50, 50);
ctxCanvas.restore();
ctxCanvas.fillRect(0, 0, 50, 50);
Web-сценарий из листинга 22.12 делает следующее:
1. Сохраняет текущее состояние канвы.
2. Перемещает начало координат в точку [100,100].
3. Рисует квадрат размерами 50 50 пикселов, верхний левый угол которого находится в точке начала координат.
4. Опять перемещает начало координат в точку [100,100]. Обратим внимание, что координаты этой точки теперь отсчитываются от нового начала системы координат, установленного предыдущим вызовом метода translate.
5. Опять рисует квадрат размерами 50 50 пикселов, верхний левый угол которого находится в начале координат.
6. Восстанавливает сохраненное состояние канвы, в том числе и положение начала системы координат (это положение по умолчанию, т. е. верхний левый угол канвы).
7. Рисует третий по счету квадрат размерами 50 50 пикселов, верхний левый угол которого находится в начале координат.
В результате мы увидим три квадрата, расположенные на воображаемой диагонали, тянущейся от верхнего левого угла канвы вниз и вправо.
ВНИМАНИЕ!
К сожалению, не существует простого способа вернуться к системе координат по умолчанию. Единственная возможность — сохранить состояние системы координат перед любыми трансформациями и потом восстановить его.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Перемещение начала координат канвы
Перемещение начала координат канвы Мы можем переместить начало координат канвы в любую другую ее точку. После этого все координаты будут отсчитываться от нового начала координат.Для перемещения начала координат канвы в другую точку достаточно вызвать метод
17.4.2 Что надо знать до начала компиляции
17.4.2 Что надо знать до начала компиляции Пожалуй, самое первое, к чему нужно быть готовым, приступая к компиляции ядра, - это то, что процедура эта длительная. Так что не рассчитывайте скомпилировать ядро "между делом", в свободную минутку. Заранее планируйте, что потратите
Начнем с самого начала
Начнем с самого начала По смыслу Твиттер – это виртуальная площадка для общения: мгновенного распространения и получения сообщений длиной не больше 140 символов. А по форме – общение в SMS-формате, идею которого основатели компании перенесли из телефонов в Интернет и
Создание нового документа без использования окна начала работы
Создание нового документа без использования окна начала работы Для создания нового файла упрощенным способом выполните следующие действия.1. Щелкните на кнопке New (Новый) на панели быстрого доступа или выполните команду меню File ? New (Файл ? Новый). На экране отобразится
Создание нового документа с помощью окна начала работы
Создание нового документа с помощью окна начала работы Чтобы при создании нового файла использовалось окно начала работы, необходимо присвоить значение 1 системной переменной STARTUP. Для этого выполните следующие действия.1. Введите в командную строку название переменной
Изменение начала координат
Изменение начала координат Напомним, что при использовании координат и единиц измерения, предлагаемых по умолчанию, точка (0, 0) находится в левом верхнем углу соответствующей области. Часто это и является именно тем, что требуется, но что делать, если вам нужно поменять
С самого начала
С самого начала Создавайте ожидания, продумав то, какой опыт получит пользователь при первом запускеИгнорировать состояние «чистого листа» — одна из самых больших ошибок, которую вы можете сделать. «Чистый лист» — это первое впечатление от вашего приложения, и у вас не
Глава 2. Для начала о Sha-Bang
Глава 2. Для начала о Sha-Bang В простейшем случае, скрипт -- это ни что иное, как простой список команд системы, записанный в файл. Создание скриптов поможет сохранить ваше время и силы, которые тратятся на ввод последовательности команд всякий раз, когда необходимо их
21.4.4. Команды head и tail — вывод начала и хвоста файла
21.4.4. Команды head и tail — вывод начала и хвоста файла Команда head выводит первые десять строк файла, а tail — последние десять. Количество строк может регулироваться с помощью параметра — n.Пример использования: head — n 10 /var/log/messages tail — n 15
Создание нового документа без использования окна начала работы
Создание нового документа без использования окна начала работы Для создания нового файла упрощенным способом необходимо выполнить следующие действия.1. Щелкните на кнопке New (Новый) на панели быстрого доступа или выполните команду меню File ? New (Файл ? Новый). На экране
ОПЫТЫ eBay: С самого начала и без конца
ОПЫТЫ eBay: С самого начала и без конца Мы продолжаем серию публикаций, посвященную интернет-торговле. Сегодня речь пойдет о самом известном онлайн-аукционе eBay и особенностях работы с ним, которые следует учитывать обитателям просторов бСССР. - С.В. Аукцион eBay.com уверенно
Начала языка ActionScript
Начала языка ActionScript В этом разделе мы рассмотрим основные понятия языка программирования ActionScript — то, без чего нельзя приступать к написанию полноценных
Возраст начала
Возраст начала Один из важных вопросов, который следует решить родителям для обеспечения здоровья ребенка при работе за компьютером, – это в каком возрасте можно приобщать дитя к последнему слову техники.Этот вопрос также стал причиной споров врачей и ученых. Одни