很多时候绘制完成的图片需要保存,那么我们就可以使用到Canvas API来完成这最后一步!

Canvas API使用toDataURL方法把绘画的状态输出到一个data URL中然后重新装载,然后我们就可以把重新装载后的文件直接保存。

Canvas API保存文件的原理实际上就是把我们绘画的状态动态输出到一个data URL地址所指向的数据中的过程。

什么是data URL?
data URL实际上就是base64位编码的URL,主要用于小型的,可以在网页中直接嵌入,而不需要从外部嵌入数据,比如img元素里面的图像。

data URL的格式“data:image/jpeg;base64,/9j/….”

toDataURL的使用方法
canvas。toDataURL(type);
这个方法使用一个参数type,表示输出数据的MIME类型。
什么是MIME类型:
jpg image/jpeg

<!DOCTYPE html><br/>
<html><br/>
    <head><br/>
        <meta charset="utf-8"><br/>
        <title>canvas图像保存</title><br/>
        <script src="js/canvas.js" type="text/javascript" charset="utf-8"></script>

    </head><br/>
    <body onload="draw('canvas')"><br/>
    <canvas id="canvas" width="400" height="300"></canvas><br/>
    </body><br/>
</html>
function draw(id){<br/>
    var canvas = document.getElementById(id);<br/>
    var context = canvas.getContext('2d');<br/>
    context.fillStyle = "green";<br/>
    context.fillRect(0,0,400,300);<br/>
    window.location = canvas.toDataURL('images/jpeg');<br/>
}