android-关于对save与restore的理解

在所有之前,我们先了解一下,官方文档对这两个函数的解释。

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状态

转载于:https://my.oschina.net/ccqy66/blog/485651

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值