android高级UI

1.2.3Canvas高阶使用技巧-变换,状态保存,离屏缓冲,粒

2019-06-24  本文已影响1人  saygoodbye_e92e

1.画布平移

2.缩放操作 scale(float sx, float sy)

3.缩放操作 scale(float sx, float sy, float px, float py)

4.旋转操作--rotate

5.围绕旋转中心旋转--rotate

6.倾斜操作--skew(float sx, float sy) sx表示在x轴倾斜角度的正切值,sy表示在Y轴倾斜角度的正切值。

7.切割 clipRect:接下来的绘制只是在当前切割区域内才能绘制成功

8.反向切割--clipOutRect

9.矩阵--Matrix

(1)setTranslate 平移

(2)setRotate 旋转

(3)setScale 缩放

canvas状态的保存与恢复

save--restore

1.canvas.getSaveCout()

小结:

1.每当调用一次canvas.save()-->canvas.getSaveCout()值就会加1,默认canvas.getSaveCout()为1

2..每当调用一次canvas.restore()-->canvas.getSaveCout()值就会减1

3.canvas内部维持一个状态栈,每次save就会执行一次入栈,每次restore就会执行一次出栈

2..canvas.restoreToOut(int state)

从日志发现直接跳过2,直接变成1,就是直接将最上面的两个状态直接出栈。

3.canvas.savaLayer--离屏绘制

上一篇 下一篇

猜你喜欢

热点阅读