Canvas 导出 data:URL 数据
如果要把画布 ( canvas ) 导出为 data:URL 格式的数据,可以使用 canvas.toDataURL() 方法
toDataURL() 方法
canvas.toDataURL() 方法用于获取 canvas 对象中所包含图片编码后的 data: URL 字符串
语法
toDataURL(type, ...args)
| 参数 | 说明 |
|---|---|
| type | 可选,返回的图片的 MIME 类型,默认是 image/png |
| ...args | 其它额外参数 |
返回值
返回一个 data: URL ,根据 type 参数指定的类型将包含在 canvas 中的图片文件编码成字符串形式, type 参数的默认值为 image/png
-
如果该
canvas的宽度或长度是 0,则会返回字符串data:, -
如果指定的
type参数不是image/png,但返回的字符串是以data:image/png开头的,则所请求的图片类型不支持 -
Chrome支持
image/webp类型 -
如果
type参数的值为image/jpeg或image/webp- 第二个参数的值如果在
0.0和1.0之间的话,会被看作是图片质量参数 - 如果第二个参数的值不在
0.0和1.0之间,则会使用默认的图片质量
- 第二个参数的值如果在
范例
将图像数据赋值给 <img> 显示出来
<!DOCTYPE html> <meta charset="utf-8"> <canvas id="canvas-1" width="300" height="100"> </canvas> 导出后的图像 <div id="export-wrap"></div> <script> var c = document.getElementById("canvas-1"); var ctx = c.getContext("2d"); ctx.fillStyle="green" ctx.fillRect(10,10,100,50); var url = c.toDataURL(); var newImg = document.createElement("img"); newImg.src = url; document.getElementById("export-wrap").append(newImg); </script>
运行结果如下
导出后的图像