Android画布Canvas--save方法和saveLaye

2020-01-13  本文已影响0人  aruba

Canvas里面牵扯两种坐标系:Canvas自己的坐标系、绘图坐标系,当Canvas画布被创建时,Canvas的坐标系就被创建了,并且此坐标系是固定不变的,就是(0,0)到Canvas的宽高,而我们使用Canvas的平移,旋转等方法时实际上操作的是绘图坐标系

由于绘图坐标系中Matrix的改变是不可逆的,所以产生了状态栈和Layer栈,它们分别运用于save方法和saveLayer方法,使得绘图坐标系恢复到保存时的状态
正因为save方法不会创建图层,所以当我们使用Xfermode,ColorFilter,Alpha时应当使用saveLayer(刮刮卡效果)
上一篇下一篇

猜你喜欢

热点阅读