將canvas畫布內容轉化為圖片(toDataURL(),創建url)
總結
1、現在的瀏覽器都支持右鍵另存為圖片的方法來將canvas畫布內容轉化為圖片
2、在代碼里面可以通過toDataURL()來操作
學習要點
canvas畫布內容導出為圖像
- toDataURL()這個方法能把畫布里的圖案轉變成base64編碼格式的png,然后返回 Data URL數據。
- 溫馨提示:以前多數瀏覽器不支持canvas中的內容直接右鍵保存為圖片格式。但現在大多數瀏覽器都是支持的。
樣例


1 <!DOCTYPE html> 2 <html lang="zh-cn"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>8-23 課堂演示</title> 6 <script type="text/javascript" src="jCanvaScript.1.5.18.min.js"></script> 7 </head> 8 <body> 9 <canvas id="myCanvas" width="300" height="300" style="background: #A9A9A9"> 10 很抱歉,您的瀏覽器暫不支持HTML5的canvas 11 </canvas> 12 <img id="img1" src="" alt=""> 13 <script> 14 var c=document.getElementById("myCanvas"); 15 var ctx=c.getContext("2d"); 16 var imgData=ctx.createImageData(300,300); 17 var img1=document.getElementById('img1') 18 for (var i=0;i<imgData.data.length;i+=4) 19 { 20 g=Math.floor((i*i+4*i+30)%255) 21 imgData.data[i+0]=g; 22 imgData.data[i+1]=g; 23 imgData.data[i+2]=255; 24 imgData.data[i+3]=255; 25 } 26 ctx.putImageData(imgData,0,0); 27 var imgsrc=c.toDataURL() 28 // alert(imgsrc) 29 img1.src=imgsrc 30 </script> 31 <script> 32 // jc.start('myCanvas',true); 33 // jc.circle(150,120,50,'rgb(0,255,0)',true); 34 // jc.circle(100,120,50,'rgba(255,0,0,0.5)',true); 35 // jc.circle(125,140,50,'#0000ff',true).id('c1'); 36 // jc('#c1').color('rgba(250,100,180,1)') 37 // jc.start('myCanvas'); 38 </script> 39 40 </body> 41 </html>
