В последнее время компания работает над функцией подписи, которая в основном использует функцию рисования линий на холсте в сочетании с мобильными сенсорными событиями.
Часть js выглядит следующим образом:
window.onload = function() { new lineCanvas({ el: document.getElementById(canvas),//Нарисуйте родительский элемент div холстаclearEl: document.getElementById(clearCanvas),//Очистить кнопку saveEl: document.getElementById(saveCanvas) , //Кнопка «Сохранить» // Ширина линии: 1, // Толщина линии, необязательно // Цвет: черный, // Цвет линии, необязательно // фон:#ffffff//Фон строки, необязательно});};function lineCanvas(obj) { this.linewidth = 1; this.color = #000000; this.background = #ffffff; for (var i in obj) { this. [i] = obj[i]; this.canvas = document.createElement(canvas); this.el.appendChild(this.canvas); = this.canvas.getContext(2d); this.canvas.width = this.el.clientWidth; this.canvas.height = this.el.clientHeight; this.cxt.fillStyle = this.background; 0, 0, this.canvas.width, this.canvas.width); this.cxt.strokeStyle = this.color; this.cxt.lineWidth = this.linewidth; this.cxt.lineCap = round; //Начинаем рисовать this.canvas.addEventListener(touchstart, function(e) { this.cxt.beginPath(); this.cxt.moveTo(e) .changedTouches[0].pageX, e.changedTouches[0].pageY }.bind(this), false); //Рисование this.canvas.addEventListener(touchmove, function(e) { this.cxt.lineTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY); this.cxt.stroke(); } .bind(this), false); //Завершаем рисование this.canvas.addEventListener(touchend, function() { this.cxt.closePath(); }.bind(this), false); //Очищаем холст this.clearEl.addEventListener(click, function() { this.cxt.clearRect(0, 0, this.canvas.width, this.canvas.height); } .bind(this), false); //Сохраняем изображение и передаем его непосредственно в base64 this.saveEl.addEventListener(click, function() { var imgBase64 = this.canvas.toDataURL(); console.log(imgBase64); }.bind(this), false);};
Это рендеринг:
Прикрепите html и css
<div id=canvas> <p id=clearCanvas>Очистить</p> <p id=saveCanvas>Сохранить</p></div>html,body{ ширина: 100%; высота: 100%;}#canvas{ ширина: 100%; высота: 100%; позиция: относительная;}#canvas Canvas{ display:block;}#clearCanvas{ширина: 50%; строка-высота: 40 пикселей; выравнивание текста: по центру; позиция: абсолютная; нижняя: 0; граница: 1 пиксель #DEDEDE; z-index: 1;}#saveCanvas { ширина: 50%; высота строки: 40 пикселей; выравнивание текста: по центру; положение: абсолютное; справа: 0; граница: 1 пиксель #DEDEDE; z-индекс: 1;}
Выше приведено все содержание этой статьи. Я надеюсь, что она будет полезна для изучения всеми. Я также надеюсь, что все поддержат сеть VeVb Wulin.