Récemment, l'entreprise travaille sur une fonction de signature, qui utilise principalement la fonction de dessin au trait sur toile combinée à des événements tactiles mobiles.
La partie js ressemble à ceci :
window.onload = function() { new lineCanvas({ el: document.getElementById(canvas),//Dessinez le div parent du canevas clearEl: document.getElementById(clearCanvas),//Bouton Effacer saveEl: document.getElementById(saveCanvas) ,//Bouton Enregistrer//largeur de ligne:1,//Épaisseur de ligne, en option//couleur:noir,//Couleur de ligne, en option// background:#ffffff//Arrière-plan de la ligne, facultatif});};function lineCanvas(obj) { this.linewidth = 1; this.color = #000000; this.background = #ffffff; [i] = obj[i]; }; this.canvas = document.createElement(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; //Commencer à dessiner this.canvas.addEventListener(touchstart, function(e) { this.cxt.beginPath(); this.cxt.moveTo(e .changedTouches[0].pageX, e.changedTouches[0].pageY); }.bind(this), false); //Dessin de this.canvas.addEventListener(touchmove, function(e) { this.cxt.lineTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY); this.cxt.stroke(); } .bind(this), false); //Fin du dessin this.canvas.addEventListener(touchend, function() { this.cxt.closePath(); }.bind(this), false); //Effacer le canevas this.clearEl.addEventListener(click, function() { this.cxt.clearRect(0, 0, this.canvas.width, this.canvas.height); } .bind(this), false); //Enregistrez l'image et transférez-la directement en base64 this.saveEl.addEventListener(click, function() { var imgBase64 = this.canvas.toDataURL(); console.log(imgBase64); }.bind(this), false);};
Voici le rendu :
Joindre du HTML et du CSS
<div id=canvas> <p id=clearCanvas>Effacer</p> <p id=saveCanvas>Enregistrer</p></div>html,body{ width: 100%; height: 100%;}#canvas{ largeur : 100 % ; hauteur : 100 % ; position : relative ;}#canvas canvas{ display: block;}#clearCanvas{ largeur : 50 % ; hauteur : 40 px ; hauteur de ligne : 40 px ; alignement du texte : centre ; position : absolu ; gauche : 0 ; bordure : 1px solide ; z-index : 1 ;}#saveCanvas{ largeur : 50 % ; hauteur de ligne : 40 px ; alignement du texte : centre ; position : absolue ; bas : 0 ; bordure : 1px solide #DEDEDE ; indice z : 1 ;}
Ce qui précède représente l’intégralité du contenu de cet article. J’espère qu’il sera utile à l’étude de chacun. J’espère également que tout le monde soutiendra le réseau VeVb Wulin.