Siehe Bild: Der Code lautet wie folgt: Kopieren Sie den Code Der Code lautet wie folgt: 🎜> Einfaches Zeichenbrett >*/ <br>display: inline-block; ; <br><script> <br><br>var c;//Das erhaltene 2D-Zeichenbrett<br>var painting = false;//Bestimmen Sie, ob das Malen ausgeführt wird, d. h. ob die linke Maustaste gedrückt wird langes Drücken<br> var canvas;//Zeichenfläche<br>$(function(){ <br><br>$(".eraseSeries").hide();//Anfangsstatus-Optionsfeldgruppe ist ausgeblendet<br> <br>canvas= document.getElementById("myCanvas"); <br>c=canvas.getContext("2d"); <br>c.lineCap="round";//Legen Sie die Ecken der Handschrift fest Die Handschrift wird gebrochen<br>c .StrokeStyle="black";//Die Farbe der Handschrift<br>c.lineWidth=5;//Die Dicke der Handschrift<br>$("#color").change (function(){//Wenn sich die Farbe der Handschrift ändert <br>if(eraseFlag==true)//Im Löschzustand<br>{ <br>$("#erase").trigger("click" );//Das Klickereignis des Radierers automatisch auslösen, um zum Pinselstatus zurückzukehren<br>} <br>c.StrokeStyle=$(this).val();//Pinselstatus festlegen<br>c.lineWidth=$ (this).val(); <br><br> }); <br><br>$("#fontSize").change(function(){//Die Pinselstärke ändert sich<br>if(eraseFlag= =true)//Dasselbe wie oben<br>{ <br>$ ("#erase").trigger("click"); <br>c.lineWidth=$(this).val(); <br>c.strokeStyle=$("#color").val (); <br>//eraseFlag=false; <br><br>$(".eraseSeries").click( function(){//Die Größe des Radiergummis ändert sich<br>var size= $('input[name="eraseSize"]:checked').val();//Den ausgewählten Wert der Radiergummi-Optionsfeldgruppe abrufen<br>sizeE=size;// Übertragen Sie den Wert an die globale Variable. sizeE muss verwendet werden, um die Position des Radiergummistils zu steuern. <br>c.lineWidth=size;<br>$("#eraseImg").css( {"width" :size "px",height":size "px"} );//Die Größe des Radiergummistils ändert sich<br>}); <br><br>$("#erase"). toggle(function(){//Das Click-Flip-Ereignis der Gummitaste<br>c.save( );//Behalten Sie den zuletzt festgelegten Status bei <br>eraseFlag=true; <br>c.StrokeStyle="white"; <br><br>$("#erase").text("Brush");/ /Ändern Sie den Text auf der Schaltfläche<br>$(".eraseSeries").show('fast');//Radiergummi Radiogruppe erscheint<br>// $("#eraseImg").show(); <br>sizeE=5; <br><br><br>},function(){ <br>eraseFlag=false <br>$("#erase").text("Eraser"); <br>$( ".eraseSeries").hide('fast');//Stellen Sie den letzten Pinsel wieder her Zustand (einschließlich Farbe, Dicke usw.) <br><br><br>//setInterval(paint,2>}); p_x;//Letzte Mausposition<br>var p_y; <br>var p_x_now;//Aktuelle momentane Mausposition<br>var p_y_now; <br>var eraseFlag=false; <br>var sizeE;//Eraser size<br><br>$(document).mousedown(function(e){//Maus gedrückt Auslöseereignis<br><br><br>// alarm(sizeE); <br>p_x= e.clientX;// Holen Sie sich die Position und legen Sie sie als letzte Mausposition fest<br>p_y= e.clientY;//Brush start flag<br><br>}); (function(e){//Mausbewegungs-Triggerereignis<br>if(eraseFlag==true&& e .clientY>30)//Der Radierer ist aktiv und die Position der Maus Y ist größer als 30, d. h. die Maus ist im Zeichenbrett<br>{ <br><br>//Das Radiergummibild bewegt sich mit der Maus<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)//Der Pinsel ist aktiv <br>{ <br>/ /alert(1); <br>p_x_now= e.clientX;//Mausposition bei der aktuelle Moment<br>p_y_now= e.clientY; <br>c.beginPath();//Startpfad<br>//Kurve Es besteht aus sehr kleinen geraden Linien und die Computerbetriebsgeschwindigkeit ist sehr hoch ist eine Möglichkeit, Kurven iterativ mit geraden Linien zu zeichnen<br>c.moveTo(p_x-5-canvas.offsetLeft,p_y-5-canvas.offsetTop) ;//Zum Startpunkt bewegen<br>c.lineTo(p_x_now- 5-canvas.offsetLeft,p_y_now-5-canvas.offsetTop);//Zeichne eine gerade Linie vom Startpunkt zum Endpunkt<br><br>c.Stroke( ); //Geschlossener Pfad, das ist sehr wichtig, <br>//, solange sich die Leinwandfarbe ändert, ändern sich alle zuvor gemalten Farben <br> p_x = p_x_now;//Nach einer Iteration, der aktuelle Koordinatenwert wird dem letzten Mauskoordinatenwert zugewiesen <br>p_y = p_y_now>} <br><br>$( document).mouseup(function(e) {//Mausfreigabe-Triggerereignis<br><br>painting=false;//Pinsel einfrieren<br>}); <br><br></script> <br></head> <br><body> <br><div > <br><select id="color" > <!--画笔颜色--> <br><option class="opt" value="red">红色</option> <br><option class="opt" value="gelb">黄色</option> <br><option class="opt" value="blue">蓝色</option> <br><option class="opt" value="black" selected>黑色</option> <br><option class="opt" value="green">绿色</option> <br></select> <br><br><select id="fontSize"> <!--画笔大小--> <br><option value=5 selected>5</option> <br><option value=10>10</option> <br><option value=15>15</option> <br><option value=20>20</option> <br><option value=30>30</option> <br></select> <br><button id="erase">擦皮</button> <!--橡皮按钮--> <br><div class="eraseSeries"> <!--橡皮大小--> <br><input type="radio" name="eraseSize" value="5" geprüft/>5 <br><input type="radio" name="eraseSize" value="10"/> 10 <br><input type="radio" name="eraseSize" value="15"/> 15 <br><input type="radio" name="eraseSize" value="20"/> 20 <br><input type="radio" name="eraseSize" value="30"/>30 <br></div> <br></div> <br><br><!--<button id="btn">btn</button>--> <br><canvas id="myCanvas" width="1420" height="780" style="border: solid"></canvas> <!--整个画布--> <br><br><div id="eraseImg"> <!--橡皮形状--> <br></div> <br><br></body> <br></html> <br> </div>