Почему ваш canvas «съезжает» или выглядит размытым: невидимая ловушка размеров

HTML-элемент <canvas> часто используется для рисования интерактивной графики, визуализации данных, или даже простых эффектов. Но многие разработчики сталкиваются с неожиданным поведением: изображение смещается, масштаб не соответствует ожиданиям, или картинка получается мыльной.

Разберёмся в причине и как это исправить.

Проблема кроется в том, что у канваса два набора размеров.

Первый размер — это тот, что задаётся в CSS. Он управляет визуальной составляющей, тем сколько canvas занимает на странице места.

Вторые размеры — это пиксельный размеры внутренней рабочей области рисования. Когда вы рисуете на canvas, именно эти размеры и определяют максимальные позиции x, y, которые видны. Они задаются атрибутами тега canvas — width и height.

По умолчанию эти размеры 300×150.

Например:

Визуально блок занимает 400×400 пикс, но его API размеры для рисования 300×150 точек. Если это не учитывать, искажение пропорций и размытая графика гарантированы как результат.

Чтобы этого не происходило, обязательно синхронизируйте размеры.

Мало букафф? Читайте есчо !

Создание бекапов базы mySQL из консоли unix

Февраль 13, 2018 г.

Ещё одна шпаргалка по администрированию UNIX серверов. На этот раз рассмотрим несколько полезных команд для создания бекапа базы данных из консоли. Нам понадобится команда mysqldump, которая позволяет создавать sql скрипт базы или её части. Создание ...

Читать

Сохранение медиа файлов после удаления последней связи с материалами

Апрель 20, 2018 г.

Drupal удаляет не используемые изображения. С одной стороны это правильная стратегия - зачем хранить картинки, файлы, которые уже не используются? С другой стороны есть причины, когда их требуется сохранить. Вот хотя бы две: SEO-шникам важно, ...

Читать

Сохранение данных приложения в C# Xamarin (Android)

Июль 17, 2022 г.

В самом простом случае нужно обеспечить функциональность на уровне хеш массива, т.е. работу с парами ключ + значение. В Xamarin данный функционал инкапсулирован в статический класс Preferences. В рамках вашего Android приложения вы можете выполнять ...

Читать

Удалить список публикаций со страницы термина таксономии в Drupal

Апрель 10, 2021 г.

Стандартный шаблон страницы термина таксономии taxonomy-term.tpl.php не позволяет управлять выводом публикаций, он лишь служит как обертка для полей термина. Единственная настройка CMS, которая влияет на вывод списка - это переменная default_nodes_main, ...

Читать
 

Комментарии к «Почему ваш canvas «съезжает» или выглядит размытым: невидимая ловушка размеров»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: