在全部以前,咱们先了解一下,官方文档对这两个函数的解释。
canvas
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.rest
大概的意思就是说:“当调用save函数后,对画布进行平移、缩放、旋转等操做都和日常没有什么两样,可是呢。当你调用restore()方法以后呢,在save方法调用以前的画布的状态将会恢复”。ip
通俗的来说,就是我调用save方法的同时,我会把画布当前的状态保存了,保存这个状态以后,我进行的各类变换操做,其实我在这些变换操做的时候,其目的是为了改变画布中的某个元素的状态,而不是整个画布的状态,因此在变换完成后,我经过调用restore方法,将我以前保存的画布的状态给恢复出来,这样,对随后的再在画布上绘制什么图像都不会由于此次的变化而受到任何的影响。ci
一句话:文档
save 保存canvas状态cli
restore 恢复save保存的canvas状态方法