标签:
在所有之前,我们先了解一下,官方文档对这两个函数的解释。
save()
Subsequent calls to translate,scale,rotate,skew,concat or clipRect, clipPath will all operate as usual, but when the balancing call to restore() is made, those calls will be forgotten, and the settings that existed before the save() will be reinstated.
大概的意思就是说:“当调用save函数后,对画布进行平移、缩放、旋转等操作都和平常没有什么两样,但是呢。当你调用restore()方法之后呢,在save方法调用之前的画布的状态将会恢复”。
通俗的来讲,就是我调用save方法的同时,我会把画布当前的状态保存了,保存这个状态之后,我进行的各种变换操作,其实我在这些变换操作的时候,其目的是为了改变画布中的某个元素的状态,而不是整个画布的状态,所以在变换完成后,我通过调用restore方法,将我之前保存的画布的状态给恢复出来,这样,对随后的再在画布上绘制什么图像都不会因为这次的变化而受到任何的影响。
一句话:
save 保存canvas状态
restore 恢复save保存的canvas状态
标签:
原文地址:http://my.oschina.net/ccqy66/blog/485651