HTML5如何保存画布?HTML5保存画布方法

本篇文章给大家带来的内容是关于HTML5如何保存画布?HTML5保存画布方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

好不容易在画布中绘制出酷炫的图形,应该把它保存起来吧。但不幸的是,画布中的这些图形本身不是真正的图片,不能直接保存。不幸中的万幸,Canvas API提供了toDataURL()方法,可以把画布中的图形转换为图片

认情况下,toDataURL()方法把图形转变成base64编码格式的png,然后返回Data URL数据。可以给toDataURL()传入MIME类型的参数,将画布转变成其它格式的图片

有了Data URL数据后,就可将这些数据直接填充到<img>元素里,或者直接从浏览器里下载它们。这里通过一个实例,来说明如何使用toDataURL()方法,把整个画布保存为图片

HTML代码如下:

<button onclick=toDataURL(image/png)>显示为png图片</button>
<button onclick=toDataURL(image/jpeg)>显示为jpg图片</button>
<canvas id=canvas width=200 height=200></canvas>
<img id=image/>

Javascript代码如下:

function toDataURL(mime) {
   var canvas = document.getElementById(canvas);
   var image = document.getElementById(image);
   image.src = canvas.toDataURL(mime);
}

上述代码中,当用户点击按钮“显示为png图片”或“显示为jpg图片”时,会调用toDataURL()方法,把画布中的内容生成图片,填充到img标签中供用户下载。

1、toDataURL()方法是画布元素自身的方法,而非画布上下文对象的方法

2、toDataURL()方法保存图片认格式是image/png,浏览器对其他格式支持不是很好。如,Google Chrome浏览器41.0.2272.118版本也支持image/jpeg格式,但不支持image/gif格式。

2、现代浏览器已经支持在Canvas上右键,把画布另存为图片,不过会按认的image/png格式保存。当然,可以通过编程,调用toDataURL()方法,传入MIME类型的参数,将其保存为其它格式。

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码