HTML5 canvas save和restore方法讲解
来源:互联网 发布:迅雷 ios版 知乎 编辑:程序博客网 时间:2024/06/11 23:00
转自 http://blog.sina.com.cn/s/blog_a3468cf601013dmi.html
save()和restore()方法是绘制复杂图形必不可少的方法.它们分别是用来保存和恢复 canvas 状态的,都没有参数。
Canvas 状态是以堆(stack)的方式保存的,每一次调用 save
方法,当前的状态就会被推入堆中保存起来。这种状态包括:当前应用的变形(即移动,旋转和缩放,见下):
,
strokeStylefillStyle
, globalAlpha
, lineWidth
, lineCap
, lineJoin
, miterLimit
, shadowOffsetX
,shadowOffsetY
, shadowBlur
, shadowColor
, globalCompositeOperation
你可以调用任意多次 save
方法。每一次调用 restore
方法,上一个保存的状态就从堆中弹出,所有设定都恢复。
举个save 和 restore 的应用例子吧。
我们尝试用这个连续矩形的例子来描述 canvas 的状态堆是如何工作的。
第一步是用默认设置画一个大四方形,然后保存一下状态。改变填充颜色画第二个小一点的白色四方形,然后再保存一下状态。再次改变填充颜色绘制更小一点的蓝色四方形。然后我们调用了restore方法将设置回到前一个save状态下的fillStyle="white",即在不设定颜色值的情况下再绘制最小的矩形时其添充色为白色。
一旦我们调用 restore
,状态堆中最后的状态会弹出,并恢复所有设置。如果不是之前用 save
保存了状态,那么我们就需要手动改变设置来回到前一个状态,这个对于两三个属性的时候还是适用的,一旦多了,我们的代码将会猛涨。 简而言之restore方法就可以理解成将其对应的当前save状态下的设置全部恢复为前一个状态
代码:
<script type="text/javascript">
window.onload=function(){
}
</script>
- HTML5 canvas save和restore方法讲解
- HTML5 canvas save和restore方法讲解
- HTML5 canvas save和restore方法讲解
- Canvas save、restore方法
- canvas 的save()和restore()方法
- canvas 的save()和restore()方法
- canvas 的save()和restore()方法
- canvas 的restore 和 save 方法
- 理解Canvas的save()和restore()方法
- android Canvas save和restore方法
- Canvas:save()和restore()
- canvas.save();和canvas.restore();
- canvas的save,restore方法
- Canvas的save和restore
- Canvas的save和restore
- Canvas的save和restore
- Canvas的save和restore
- Canvas的save和restore
- GDB多进程调试
- 黑马程序员_面试题之交通灯管理系统
- Brush画图的使用 和 图片缩放
- cookie 和session 的区别详解
- java 基础 (一 )
- HTML5 canvas save和restore方法讲解
- 区间k大数查询
- magento按Store View调用自定义属性
- 2013大数据揽金186亿
- JAVA中的接口和抽象类(转)
- DNN6 目录结构
- 【C语言代码】链表的简单建立
- tomcat 启动正常 不能访问
- java网络编程