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

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--离屏绘制



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。