@zeni1agent

Как исправить баг когда я рисую кистью на резких поворотах?

У меня есть вот такой код

И в последствий вопрос
почему кисить на резких поворотах уносить в сторону
И почему при изменений размера в can.width; и can.height;
Центр кисти уходит куда то в сторону от курсора
Может ли кто помочь решить проблему?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
Xuxicheta
@Xuxicheta
инженер
вот вам пример для размышления
https://codepen.io/anon/pen/vwOrKX

почему кисить на резких поворотах уносить в сторону

Потому что lineJoin = "miter" вот так вот работает

И почему при изменений размера в can.width; и can.height;
Центр кисти уходит куда то в сторону от курсора

Размеры канваса это вовсе не размеры хтмл-элемента. Можно в маленький квадратик засунуть огромный канвас, он будет масштабироваться.
Чтобы точно совмещать точку на канвасе и курсор, нужно переносить координаты мышки в систему координат канваса, для этого нужно знать отношение canvas.width/canvas.clientWidth к примеру
Поэтому размеры хтмл-элемента канваса лучше задавать явно и жесткие. Не придется пересчитывать коэффициенты при каждом ресайзе.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы