Задать вопрос
@zeni1agent

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

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

И в последствий вопрос
почему кисить на резких поворотах уносить в сторону
И почему при изменений размера в can.width; и can.height;
Центр кисти уходит куда то в сторону от курсора
Может ли кто помочь решить проблему?
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Skillbox
    Разработчик игр на Unity с нуля
    3 месяца
    Далее
  • OTUS
    Android Developer
    10 месяцев
    Далее
Решения вопроса 1
Xuxicheta
@Xuxicheta
инженер
вот вам пример для размышления
https://codepen.io/anon/pen/vwOrKX

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

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

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

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

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

Похожие вопросы