Javascript HTML5 Canvas實現的一個畫板_javascript技巧

來源:互聯網
上載者:User

本文執行個體為大家分享了HTML5 Canvas實現的一個畫板代碼,供大家參考,具體內容如下

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <title>DEMO6:自訂畫板</title></head><body><canvas id="canvas" width="600" height="300">  瀏覽器不支援canvas  <!-- 如果不支援會顯示這段文字 --></canvas><br/><button style="width:80px;background-color:yellow;" onclick='linecolor="yellow";'>YELLOW</button><button style="width:80px ;background-color:red;" onclick='linecolor="red";'>RED</button><button style="width:80px ;background-color:blue;" onclick='linecolor="blue";'>BLUE</button><button style="width:80px ;background-color:green;" onclick='linecolor="green";'>GREEN</button><button style="width:80px ;background-color:white;" onclick='linecolor="white";'>WHITE</button><button style="width:80px ;background-color:black;" onclick='linecolor="black";'>BLACK</button><br/> <button style="width: 80px;background-color: white;" onclick="linw=4;">4PX</button><button style="width: 80px;background-color: white;" onclick="linw=8;">8PX</button><button style="width: 80px;background-color: white;" onclick="linw=16;">16PX</button><br/> <button style="width: 80px;background-color: white;" onclick="copyimage();">EXPORT</button> <br/><img src="" id="image_png" width="600px" height="300px"><br/> <script type="text/javascript">  var canvas = document.getElementById('canvas'); //擷取標籤  var ctx = canvas.getContext("2d");    var fillStyle = "black";  ctx.fillRect(0,0,600,300);  var onoff = false; //按下標記  var oldx = -10;  var oldy = -10;  //設定顏色  var linecolor = "white";  var linw = 4;  canvas.addEventListener("mousemove",draw,true); //滑鼠移動事件  canvas.addEventListener("mousedown",down,false); //滑鼠按下事件  canvas.addEventListener("mouseup",up,false); //滑鼠彈起事件  function down(event){    onoff = true;    oldx = event.pageX - 10;    oldy = event.pageY - 10;  }  function up(){    onoff = false;  }  function draw(event){    if (onoff==true) {      var newx = event.pageX - 10;      var newy = event.pageY - 10      ctx.beginPath();      ctx.moveTo(oldx,oldy);      ctx.lineTo(newx,newy);      ctx.strokeStyle = linecolor;      ctx.lineWidth = linw;      ctx.lineCap = "round";      ctx.stroke();       oldx = newx;      oldy = newy;    }  }  function copyimage(event)  {    var img_png_src = canvas.toDataURL("image/png"); //將畫板儲存為圖片格式的函數    document.getElementById("image_png").src = img_png_src;  }     </script> </body></html>

以上就是本文的全部內容,希望對大家的學習有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.