将canvas画布内容转化为图片(toDataURL(),创建url)

时间:2022-01-27 20:32:08

将canvas画布内容转化为图片(toDataURL(),创建url)

总结

1、现在的浏览器都支持右键另存为图片的方法来将canvas画布内容转化为图片

2、在代码里面可以通过toDataURL()来操作

学习要点

canvas画布内容导出为图像

  • toDataURL()这个方法能把画布里的图案转变成base64编码格式的png,然后返回 Data URL数据
  • 温馨提示:以前多数浏览器不支持canvas中的内容直接右键保存为图片格式。但现在大多数浏览器都是支持的。

样例

将canvas画布内容转化为图片(toDataURL(),创建url)

将canvas画布内容转化为图片(toDataURL(),创建url)

 <!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>8-23 课堂演示</title>
<script type="text/javascript" src="jCanvaScript.1.5.18.min.js"></script>
</head>
<body>
<canvas id="myCanvas" width="300" height="300" style="background: #A9A9A9">
很抱歉,您的浏览器暂不支持HTML5的canvas
</canvas>
<img id="img1" src="" alt="">
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var imgData=ctx.createImageData(300,300);
var img1=document.getElementById('img1')
for (var i=0;i<imgData.data.length;i+=4)
{
g=Math.floor((i*i+4*i+30)%255)
imgData.data[i+0]=g;
imgData.data[i+1]=g;
imgData.data[i+2]=255;
imgData.data[i+3]=255;
}
ctx.putImageData(imgData,0,0);
var imgsrc=c.toDataURL()
// alert(imgsrc)
img1.src=imgsrc
</script>
<script>
// jc.start('myCanvas',true);
// jc.circle(150,120,50,'rgb(0,255,0)',true);
// jc.circle(100,120,50,'rgba(255,0,0,0.5)',true);
// jc.circle(125,140,50,'#0000ff',true).id('c1');
// jc('#c1').color('rgba(250,100,180,1)')
// jc.start('myCanvas');
</script> </body>
</html>