画像を参照してください:
コードは次のとおりです:
🎜>
;
<script> <br><br>var c;//取得された 2D 描画ボード<br>var Painting = false;//ペイントが進行中かどうか、つまりマウスの左ボタンがオンになっているかどうかを判断します。長押し<br> var Canvas;//Artboard<br>$(function(){ <br><br>$(".eraseSeries").hide();//初期状態のラジオボタングループは非表示<br> <br>canvas= document.getElementById("myCanvas"); <br>c=canvas.getContext("2d"); <br>c.lineCap="round";// 手書きの角を設定します。手書きが崩れます<br>c .ストロークスタイル="black";//手書きの色<br>c.lineWidth=5;//手書きの太さ<br>$("#color").change (function(){//手書きの色が変わったとき<br>if(eraseFlag==true)//消去状態<br>{ <br>$("#erase").trigger("click" );//消しゴムのクリック イベントを自動的にトリガーしてブラシの状態に戻します<br>} <br>c.strokingStyle=$(this).val();//ブラシの状態を設定します<br>c.lineWidth=$ (this).val(); <br><br>$("#fontSize").change(function(){//ブラシの太さが変化します<br>if(eraseFlag= =true)//同上<br>{ <br>$ ("#erase").trigger("click"); <br>} <br>c.lineWidth=$(this).val(); <br>c.ストロークスタイル=$("#color").val (); <br>//eraseFlag=false; <br>}); <br><br>$(".eraseSeries").click( function(){//消しゴムのサイズが変更されます<br>var size= $('input[name="eraseSize"]:checked').val();//消しゴムのラジオ ボタン グループの選択された値を取得します<br>sizeE=size;//値をグローバル変数に転送します。sizeE は消しゴム スタイルの位置を制御するために使用する必要があります。<br>c.lineWidth=size; <br>$("#eraseImg").css( {"width" :size "px","height":size "px"} );//消しゴムのスタイルのサイズが変わります<br>}); <br><br>$("#erase")。 toggle(function(){//ラバー ボタンのクリック フリップ イベント<br>c.save( );//最後に設定された状態を維持します<br>eraseFlag=true; <br>c.strokingStyle="white"; <br><br>$("#erase").text("Brush");/ /ボタンのテキストを変更します<br>$(".eraseSeries").show('fast');//消しゴムラジオグループが表示されます<br>// $("#eraseImg").show(); <br><br><br>},function(){ <br>eraseFlag=false; 🎜>$("#erase").text("Eraser"); <br>$( ".eraseSeries").hide('fast'); <br>c.restore();//最後のブラシを復元します状態 (色、厚さなどを含む) <br><br><br>//setInterval(paint,2) <br><br>var p_x;//最後のマウス位置<br>var p_y;//現在のマウス位置<br>var p_y_now; <br>var EraseFlag=false;//消しゴムのサイズ<br><br>$(document).mousedown(function(e){//マウスが押された トリガーイベント<br><br><br>//alert(sizeE); <br>p_x= e.clientX;//位置を取得し、最後のマウス位置として設定します<br>p_y= e.clientY >painting = true;//ブラシ開始フラグ<br><br>}); (function(e){//マウス移動トリガー イベント<br>if(eraseFlag==true&& e .clientY>30)//消しゴムはアクティブで、マウス Y の位置は 30 より大きい、つまり、マウスは描画ボード内にあります<br>{ <br><br>//マウスと一緒に消しゴム画像が移動します<br>$( "#eraseImg").animate({left: e.clientX-sizeE "px",トップ: e.clientY-sizeE "px"},0).show('fast'); <br>} <br>else <br>{ <br>$("#eraseImg").hide('fast' ); <br>} <br>if(painting==true)// ブラシがアクティブです <br>{ <br>/ /alert(1); <br>p_x_now= e.clientX;// マウスの位置現時点では<br>p_y_now= e.clientY; <br>c.beginPath();//開始パス<br>//曲線 非常に小さな直線で構成されており、コンピューターの動作速度は非常に高速です。直線で曲線を繰り返し描く方法です<br>c.moveTo(p_x-5-canvas.offsetLeft,p_y-5-canvas.offsetTop) ;//始点に移動<br>c.lineTo(p_x_now) -5-canvas.offsetLeft,p_y_now-5-canvas.offsetTop);//始点から終点まで直線を描きます<br><br>c.stop( ) <br>c.closePath(); ;//閉じたパス、これは非常に重要です。パスが閉じていない場合、<br>// キャンバスの色が変わる限り、以前にペイントされたすべての色が変わります。<br> p_x = p_x_now;// 1 回の反復の後。 、現在の座標値が最後のマウス座標値に割り当てられます。<br><br>}); )//マウスリリーストリガーイベント<br><br>painting=false;//フリーズブラシ<br>}); <br><br></script>
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31