Я хочу рисовать на холсте HTML с помощью мыши (например, нарисовать подпись, нарисовать имя, ...)
Как мне это реализовать?
html
canvas
gesture-recognition
gestures
MartinJoo
источник
источник
Ответы:
Вот рабочий образец.
источник
canvas.offsetLeft;
иcanvas.offsetTop;
с помощьюcanvas.getBoundingClientRect().left;
иcanvas.getBoundingClientRect().top;
соответственно, чтобы исправить проблему прокрутки.touchmove
,touchstart
,touchend
А затемclientX
приходит отe.touches["0"].clientX
вfindxy()
коде, не думали о простом способе обнаружения того , что используется , хотя, как вы не можете слушать оба событие одновременно от того, что я проверил. Я оставилmouseout
как есть. Это не идеально, но это действительно работаетВот самый простой способ создать приложение для рисования с холстом:
mousedown
,mousemove
иmouseup
слушатель событий на холст DOMmousedown
, получите координаты мыши и используйтеmoveTo()
метод для размещения курсора рисования иbeginPath()
метод, чтобы начать новый путь рисования.mousemove
, непрерывно добавляйте новую точку к пути с помощьюlineTo()
и закрашивайте последний сегмент с помощьюstroke()
.mouseup
, установите флаг для отключения рисования.Оттуда вы можете добавить всевозможные другие функции, такие как предоставление пользователю возможности выбирать толщину линии, цвет, мазки кисти и даже слои.
источник
Думаю, здесь другие примеры слишком сложные. Это проще и только JS ...
источник
if (e.buttons !== 1) return;
;-).resize
функции. Я устанавливаю ширину и высоту холста в зависимости от размера окна. Вы должны установить их на основе вашего<div class="container-fluid">
.offset
вsetPosition
функции ...Погуглил это ("программа рисования холста html5"). Похоже, что тебе нужно.
http://dev.opera.com/articles/view/html5-canvas-painting/
источник
проверьте это http://jsfiddle.net/ArtBIT/kneDX/ . Это должно направить вас в правильном направлении
источник
Я тоже хотел использовать этот метод для подписей, я нашел образец на http://codetheory.in/ .
Я добавил приведенный ниже код в jsfiddle
Html:
Javascript:
источник
Вот мой очень простой рабочий холст для рисования и стирания.
https://jsfiddle.net/richardcwc/d2gxjdva/
источник
Alco проверьте это:
Пример:
https://github.com/williammalone/Simple-HTML5-Drawing-App
Документация:
http://www.williammalone.com/articles/create-html5-canvas-javascript-drawing-app/
Этот документ включает следующие коды: -
HTML:
JS:
И еще один замечательный пример
http://perfectionkills.com/exploring-canvas-drawing-techniques/
источник
Мне пришлось привести простой пример по этой теме, поэтому я поделюсь здесь:
http://jsfiddle.net/Haelle/v6tfp2e1
источник
Прошло много лет с тех пор, как этот вопрос был задан и получил ответ.
Для всех, кто ищет простой холст для рисования (например, для получения подписи от пользователя / клиента), здесь я публикую более упрощенную версию jquery принятого в настоящее время ответа
источник
Сообщите мне, если у вас возникнут проблемы с этим. Он использует processing.js и имеет функции для изменения цвета и увеличения и уменьшения точки рисования.
источник
init.js
?Супер короткая версия, здесь , без
position:absolute
ванильного JavaScript. Основная идея - переместить контекст холста в нужные координаты и нарисовать линию. Раскомментируйтеclick
обработчик и комментарииmousedown
иmousemove
обработчики ниже, чтобы понять, как он работает.источник
если у вас есть фоновое изображение для вашего холста, вам нужно будет сделать некоторые настройки, чтобы он работал правильно, потому что трюк со стиранием белого скроет фон.
вот суть с кодом.
источник