Canvas的API提供了save()restore()的方法,用于保存及恢复当前canvas绘图环境的所有属性。

save()与restore()方法可以嵌套调用

save()方法将当前绘图环境压入堆栈顶部,restore()方法从堆栈顶部弹出一组状态信息,并据此恢复当前绘图环境的各个状态。这意味着可以嵌套调用save()和restore()方法。

save()

将当前canvas的状态推送到一个保存canvas状态的堆栈顶部。canvas状态包括了当前的坐标变换(transformation)信息、裁剪区域以及所有canvas绘图环境对象的属性,包括strokeStyle、fillStyle与globalCompositeOperation等。

canvas状态并不包括当前的路径或位图。只能通过调用beginPath()来重置路径。至于位图,它是canvas本身的一个属性,并不属于绘图环境对象。

尽管位图是canvas对象本身的属性,但也可以通过绘图环境对象来访问(context.getImageData())

restore()

将canvas状态堆栈顶部的条目弹出。原来保存于栈顶部的那一组状态,在弹出之后,就被设置成canvas当前的状态了。因此,在调用save()于restore()方法之间,对canvas状态所进行的修改,其效果只会持续至restore()方法被调用之前。

最新文章

  1. Linux常用命令[转]
  2. Java日志——2016年5月30日
  3. vi
  4. loj 1002(spfa变形)
  5. 设计模式--简单工厂(Factory)模式
  6. MyEclipse8.5集成Tomcat7
  7. Jquery动态进行图片缩略
  8. MySQL ibdata1撑爆占满磁盘空间
  9. 在vmware 6.5+ubuntu12.04上安装VMware tools出现问题的分析
  10. tar 基础
  11. Sqlserver 时间字段批量增加
  12. JS-DOM . 01 简单了解DOM
  13. Ffmpeg简介
  14. tf的一些基本用法
  15. 【Python65--tkinter:button】
  16. Linux CentOS6.8 项目部署脚本实现
  17. Jmeter(十一)参数化
  18. tomcat实现https
  19. C++实现一个web服务器, 弱智版服务器
  20. 全面解析PHP面向对象的三大特征

热门文章

  1. 抖音C#版,自己抓第三方抖音网站
  2. c 读取整个文件内容
  3. swoole 创建tcp服务器
  4. js 日期格式化及日期增减
  5. Oracle案例04——TNS-12547: TNS:lost contact
  6. (转)从Python的0.1输出0.1000000000000001说浮点数的二进制
  7. 全新Chrome Devtool Performance使用指南
  8. libevent使用event_new和不使用的两种方法
  9. 跨域问题时的Filter无效
  10. Swift编程语言学习1.1——常量与变量