🎜>
Table à dessin simple <script> <br><br>var c;//La planche à dessin 2d obtenue<br>var painting = false;//Détermine si la peinture est en cours, c'est-à-dire si le bouton gauche de la souris est appui long<br> var canvas;//Artboard<br>$(function(){ <br><br>$(".eraseSeries").hide();//Le groupe de boutons radio de l'état initial est masqué<br> <br>canvas= document.getElementById("myCanvas"); <br>c=canvas.getContext("2d"); <br>c.lineCap="round";//Définissez les coins de l'écriture manuscrite, sinon le l'écriture manuscrite sera cassée<br>c .StrokeStyle="black";//La couleur de l'écriture manuscrite<br>c.lineWidth=5;//L'épaisseur de l'écriture<br>$("#color").change (function(){//Lorsque la couleur de l'écriture manuscrite change <br>if(eraseFlag==true)//Dans l'état d'effacement<br>{ <br>$("#erase").trigger("click" );//Déclencher automatiquement l'événement de clic de la gomme pour revenir à l'état du pinceau<br>} <br>c.strokeStyle=$(this).val();//Définir l'état du pinceau<br>c.lineWidth=$ (this).val(); <br><br> }); <br><br>$("#fontSize").change(function(){//L'épaisseur du pinceau change<br>if(eraseFlag= =true)//Identique à ci-dessus<br>{ <br>$ ("#erase").trigger("click"); <br>} <br>c.lineWidth=$(this).val(); <br>c.StrokeStyle=$("#color").val (); <br>//eraseFlag=false; <br><br>$(".eraseSeries").click( function(){//La taille de la gomme change<br>var size= $('input[name="eraseSize"]:checked').val();//Obtenir la valeur sélectionnée du groupe de boutons radio de la gomme<br>sizeE=size;//Transférez la valeur à la variable globale, sizeE doit être utilisé pour contrôler la position du style de gomme <br>c.lineWidth=size <br>$("#eraseImg").css( {"width" :size "px","height":size "px"} );//La taille du style de gomme change<br>}); <br><br>$("#erase"). toggle(function(){//L'événement click flip du bouton en caoutchouc<br>c.save( );//Conserver le dernier état défini <br>eraseFlag=true; <br>c.strokeStyle="white"; <br><br>$("#erase").text("Brush");/ /Changer le texte sur le bouton<br>$(".eraseSeries").show('fast');//Eraser le groupe radio apparaît<br>// $("#eraseImg").show(); <br>sizeE=5 <br><br><br>},function(){ <br>eraseFlag=false; 🎜>$("#erase").text("Eraser"); <br>$( ".eraseSeries").hide('fast'); <br>c.restore();//Restaurer le dernier pinceau état (y compris la couleur, l'épaisseur, etc.) <br>} ; <br><br><br>//setInterval(paint,2); <br><br>} ; p_x;//Dernière position de la souris<br>var p_y; <br>var p_x_now;//Position actuelle de la souris<br>var p_y_now; 🎜><br>$(document).mousedown(function(e){//Souris enfoncée Événement déclencheur<br><br><br>// alert(sizeE); <br>p_x= e.clientX;// Obtenez la position et définissez-la comme dernière position de la souris<br>p_y= e.clientY; <br>painting = true;//Brush start flag<br><br>} <br>$(document).mousemove); (function(e){//Événement déclencheur de mouvement de la souris<br>if(eraseFlag==true&& e .clientY>30)//La gomme est active et la position de la souris Y est supérieure à 30, c'est-à-dire que la la souris est dans la planche à dessin<br>{ <br><br>//L'image de la gomme se déplace avec la souris<br>$( "#eraseImg").animate({left: e.clientX-sizeE "px", top : e.clientY-sizeE "px"},0).show('fast'); <br>} <br>else <br>{ <br>$("#eraseImg").hide('fast' ); <br>} <br>if(painting==true)//Le pinceau est actif <br>{ <br>/ /alert(1); <br>p_x_now= e.clientX;//Position de la souris à le moment actuel<br>p_y_now= e.clientY; <br>c.beginPath();//Chemin de départ<br>//Courbe Il est composé de très petites lignes droites et la vitesse de fonctionnement de l'ordinateur est très rapide. est une façon de dessiner de manière itérative des courbes avec des lignes droites<br>c.moveTo(p_x-5-canvas.offsetLeft,p_y-5-canvas.offsetTop) ;//Déplacer vers le point de départ<br>c.lineTo(p_x_now- 5-canvas.offsetLeft,p_y_now-5-canvas.offsetTop);//Trace une ligne droite du point de départ au point final<br><br>c.stroke( ); <br>c.closePath(); //Chemin fermé, c'est très important. Si le chemin n'est pas fermé, <br>// alors tant que la couleur de la toile change, toutes les couleurs précédemment peintes changeront <br> p_x = p_x_now;//Après une itération, la valeur de coordonnée instantanée actuelle est attribuée à la dernière valeur de coordonnée de la souris <br>p_y = p_y_now; <br>} <br><br>} <br><br>$( document).mouseup(function(e)); {//Événement déclencheur de déclenchement de la souris<br><br>painting=false;//Geler le pinceau<br>}); <br><br></script>