安卓Canvas的save以及saveLayer简单总结

来源:互联网 发布:淘宝互刷 编辑:程序博客网 时间:2024/05/16 13:02

安卓Canvas的save以及saveLayer简单总结

首先相同的地方,两者都会保存当前画布的状态,并压入栈中。不同点save不会产生新的图层,saveLayer会产生新的图层,并且之后的画图都会在新的图层中,画完后在叠加在之前的图层上。如果一开始的canvas的状态是改变的,那么后面的layer的状态也会改变。restore和restoreToCount可以通用,restoreToCount通过返回的id弹栈,会把上面的状态全部丢弃,前者则是直接弹出栈顶的画布状态。补充一点,canvas的save不会改变原来canvas的坐标系,后者会改变,必须调用canvas.drawColor();两者会有差别,大家可以试一试。