> 文章列表 > canvas图像保存

canvas图像保存

canvas图像保存

很多时候绘制完成的图片需要保存,那么我们就可以使用到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>
<html><head><meta charset="utf-8"><title>canvas图像保存</title><script src="js/canvas.js" type="text/javascript" charset="utf-8"></script></head><body onload="draw('canvas')"><canvas id="canvas" width="400" height="300"></canvas></body>
</html>
function draw(id){var canvas = document.getElementById(id);var context = canvas.getContext('2d');context.fillStyle = "green";context.fillRect(0,0,400,300);window.location = canvas.toDataURL('images/jpeg');
}