很多时候绘制完成的图片需要保存,那么我们就可以使用到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');
}

最新文章

  1. php artisan常用方法
  2. js 判断鼠标滚轮方向
  3. TCP和UDP Socket
  4. Android横竖屏切换继续播放视频
  5. ios--集成支付宝钱包支付iOS SDK的方法与经验
  6. DVDRW光驱无法读DVD刻录盘
  7. PHP字符串替换函数strtr()
  8. StudioStyle 使用 厌倦了默认的Visutal Studio样式了,到这里找一个酷的试试
  9. 获取EnterpriseLibrary企业库配置文件中ConnectionStrings(原创)
  10. createwindow
  11. 百度地图api实例
  12. BZOJ 1935: [Shoi2007]Tree 园丁的烦恼( 差分 + 离散化 + 树状数组 )
  13. Cocos2d-x 3.2 大富翁游戏项目开发-第八部分 角色的散步路径
  14. jquery ajax请求成功,数据返回成功,seccess不执行的问题
  15. Eclipse 安装插件
  16. Linux设备中的并发控制
  17. Python面向对象编程(一)
  18. [SF] Symfony 标准 HttpFoundation\Request 实现分析
  19. 7.封装,static,方法重载
  20. ASP.NET Web API 2 过滤器

热门文章

  1. .Net MVC 当前上下文中不存在名称“Style”
  2. Java编程思想 学习笔记12
  3. Linux 命令详解(十一)Shell 解析 json命令jq详解
  4. java AOP使用注解@annotation方式实践
  5. Guava Immutable 不可变集合
  6. WF控制台工作流(2)
  7. [HAOI2018]奇怪的背包 (DP,数论)
  8. jquery 学习(一) - 选择器
  9. python - 练习(获取windows硬件信息)
  10. linux下mysql 5.7.22 安装