Памятка по работе с Canvas API

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.


Доброго времени суток, друзья!

Данная статья представляет собой небольшую подборку примеров работы с Canvas API, к которой удобно обращаться при необходимости вспомнить изученный материал.

Это не руководство по работе с холстом, а лишь демонстрация некоторых из его основных инструментов.

Для меня это также своего рода промежуточный итог в изучении холста.

Код разбит на отдельные блоки-песочницы, которые для удобства чтения помещены под «кат».

Парочка важных моментов.

Ширину и высоту холста лучше определять с помощью атрибутов:

<canvas width="300" height="300"></canvas>

Если мы хотим, чтобы холстом была вся область просмотра, то делаем следующее:

const width = canvas.width = innerWidth
const height = canvas.height = innerHeight

Холст и двумерный контекст рисования я определяю следующим образом:

const canvas = document.querySelector('canvas')
// не путать с объектом jQuery
const $ = canvas.getContext('2d')

Довольно слов.

Начнем с простых фигур.


Линия:




Прямоугольник (квадрат):




Треугольник:




Круг:





Кривые Безье:





Квадратичные кривые:





Кубические кривые:




Проведем несколько экспериментов.


Цвет линий:




Цвет заливки:




Прозрачность (альфа-канал):




Прозрачность (RGBA):




Двигаемся дальше.


Текст:




Метрики текста (шрифта):




Градиент:




Изображение:




Узор (шаблон):




Реализуем несколько функций.


Функция рисования многоугольников:




Функция рисования снежинок:




Функция переноса текста:
Автор: Омар Хайям.




Функция получения координат курсора:




Двигаемся дальше.


Определяем цвета изображения:
Подходящее (по цветам и размеру) изображение находится здесь: harryheman.github.io/art.jpg.




Рисуем значок загрузки:




Реализуем слежение за курсором:




Создаем интерактивный текст:




Смотрите также:

  • Реализуем визуальный эффект из фильма «Матрица»
  • Пишем Pixel Art Maker на JavaScript
  • Работаем с аудио: прогресс и визуализация данных
  • Любовь + холст = сердце

Спасибо за потраченное время. Надеюсь, оно было потрачено не зря.
Источник: https://habr.com/ru/post/500530/


Интересные статьи

Интересные статьи

Это подборка материалов по теме программирования, компьютерного железа и ПО для автомобильных аудиоинтерфейсов. Всех заинтересовавшихся темой, приглашаем под кат. Послушать на выхо...
Захотелось как-то мне использовать в Linux внедряемые ресурсы, причём, автоматически. В общем, задача такая: Имеется Eclipse проект программы на C++. ОС: Linux Ubuntu. Компилятор: G++ В проект...
Этот пост будет из серии, об инструментах безопасности, которые доступны в Битриксе сразу «из коробки». Перечислю их все, скажу какой инструмент в какой редакции Битрикса доступен, кратко и не очень р...
С версии 12.0 в Bitrix Framework доступно создание резервных копий в автоматическом режиме. Задание параметров автоматического резервного копирования производится в Административной части на странице ...
Практически все коммерческие интернет-ресурсы создаются на уникальных платформах соответствующего типа. Среди них наибольшее распространение получил Битрикс24.