Chcę rysować na płótnie HTML za pomocą myszy (np .: narysuj podpis, narysuj nazwę, ...)
Proszę, pomóż mi, jak mam to zrobić? Proszę podać kod źródłowy. Dziękuję Ci
html
canvas
gesture-recognition
gestures
MartinJoo
źródło
źródło
Odpowiedzi:
Oto próbka robocza.
źródło
canvas.offsetLeft;
icanvas.offsetTop;
zcanvas.getBoundingClientRect().left;
icanvas.getBoundingClientRect().top;
odpowiednio rozwiązać problem przewijania.touchmove
,touchstart
,touchend
A następnieclientX
pochodzie.touches["0"].clientX
wfindxy()
kodzie, nie pomyśleli o łatwy sposób wykryć co jest używany chociaż, że nie można słuchać obu imprez w tym samym czasie z tego co mam przetestowane. Wyszedłemmouseout
tak, jak jest. Nie jest doskonały, ale działaOto najprostszy sposób tworzenia aplikacji do rysowania na kanwie:
mousedown
,mousemove
orazmouseup
zdarzeń słuchacza DOM płótniemousedown
, pobierz współrzędne myszy i użyjmoveTo()
metody, aby ustawić kursor rysowania ibeginPath()
metody, aby rozpocząć nową ścieżkę rysowania.mousemove
, w sposób ciągły dodawaj nowy punkt do ścieżki za pomocąlineTo()
i koloruj ostatni segment za pomocąstroke()
.mouseup
, ustaw flagę, aby wyłączyć rysowanie.Stamtąd możesz dodać wszelkiego rodzaju inne funkcje, takie jak danie użytkownikowi możliwości wyboru grubości linii, koloru, pociągnięć pędzla, a nawet warstw.
źródło
Myślę, że inne przykłady tutaj są zbyt skomplikowane. Ten jest prostszy i tylko JS ...
źródło
if (e.buttons !== 1) return;
;-).resize
funkcja. Ustawiam szerokość i wysokość płótna na podstawie rozmiaru okna. Powinieneś ustawić je na podstawie swojego<div class="container-fluid">
.offset
zsetPosition
funkcji ...Wygooglowałem to („program do malowania płótna html5”). Wygląda na to, czego potrzebujesz.
http://dev.opera.com/articles/view/html5-canvas-painting/
źródło
sprawdź to http://jsfiddle.net/ArtBIT/kneDX/ . To powinno skierować cię we właściwym kierunku
źródło
Chciałem użyć tej metody również do podpisów, znalazłem próbkę na http://codetheory.in/ .
Dodałem poniższy kod do pliku jsfiddle
HTML:
JavaScript:
źródło
Oto moje bardzo proste narzędzie do rysowania i wymazywania na płótnie.
https://jsfiddle.net/richardcwc/d2gxjdva/
źródło
Alco sprawdź to:
Przykład:
https://github.com/williammalone/Simple-HTML5-Drawing-App
Dokumentacja:
http://www.williammalone.com/articles/create-html5-canvas-javascript-drawing-app/
Ten dokument zawiera następujące kody: -
HTML:
JS:
I kolejny świetny przykład
http://perfectionkills.com/exploring-canvas-drawing-techniques/
źródło
Musiałem podać prosty przykład na ten temat, więc podzielę się tutaj:
http://jsfiddle.net/Haelle/v6tfp2e1
źródło
Minęły lata, odkąd zadano to pytanie i na które udzielono odpowiedzi.
Dla każdego, kto szuka prostego płótna rysunkowego (np. Do pobrania podpisu od użytkownika / klienta), tutaj zamieszczam bardziej uproszczoną wersję jQuery aktualnie akceptowanej odpowiedzi
źródło
Daj mi znać, jeśli masz problemy z wdrożeniem tego. Używa Processing.js i ma funkcje zmiany kolorów i powiększania i zmniejszania punktu rysowania.
źródło
init.js
środku?Super wersja skrócona, tutaj , nie
position:absolute
w wanilii JavaScript. Głównym pomysłem jest przeniesienie kontekstu płótna na właściwe współrzędne i narysowanie linii. Odkomentujclick
obsługę oraz komentarzemousedown
i programy obsługimousemove
poniżej, aby poczuć, jak to działa.źródło
jeśli masz obraz tła dla swojego płótna, będziesz musiał wprowadzić kilka poprawek, aby działał poprawnie, ponieważ sztuczka białego wymazywania ukryje tło.
tutaj jest sedno kodu.
źródło