在运用canvas画图的时候,如果我们使用过放大、缩小、平移、重置画布原点等方法的话,那么在画下一个图的时候,有可能得到的结果并不是我们想要的,例如,我用了重置画布原点属性画的时钟,时钟每走一秒图画就会偏离,如图1:
![]()
图1:偏离 图2:正常
当发生这种情况时,我们就要用到save()与restore()方法,save方法可以让我们保存当前绘图的环境,而restore方法可以让我们返回之前保存的环境,在这个例子中,我在重置画布原点前先保存了环境,画完一次时钟后再用restore方法返回之前的环境,下次再画时钟的时候就会在原来的地方画了。如图2:
转载于:https://my.oschina.net/u/3348790/blog/1083487