美文网首页android高级UI
1.2.3Canvas高阶使用技巧-变换,状态保存,离屏缓冲,粒

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

作者: saygoodbye_e92e | 来源:发表于2019-06-24 13:27 被阅读1次

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

相关文章

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

    1.画布平移 2.缩放操作scale(float sx, float sy) 3.缩放操作scale(float ...

  • 离屏渲染,OpenGL的三种渲染方式

    一. 离屏渲染触发的原理:APP在对图片进行渲染,合并的时候会触发离屏渲染,离屏渲染流程先把图层保存在帧缓冲区(o...

  • iOS下对离屏渲染的理解

    离屏渲染定义 离屏渲染的流程如图: GPU把渲染好的的内容存放到离屏渲染缓冲区中,在离屏渲染缓冲区(Offscre...

  • iOS 圆角的优化

    离屏渲染 GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。离屏渲染耗时主要发生在离屏,主要包括创建缓冲区和...

  • iOS两种渲染

    离屏渲染(Off-Screem Rendering): 渲染发生在当前屏幕之外。将渲染结果临时保存(创建缓冲区),...

  • 离屏渲染

    什么是离屏渲染? 是在GPU当前缓冲区之外创建一个新的缓冲区进行渲染操作。 创建缓冲区,上下文在离屏缓冲区和当前缓...

  • 三、离屏渲染,你真的知道了吗?

    一、首先让我们什么是离屏渲染 离屏渲染就是在当前屏幕缓冲区以外,新开辟一个缓冲区进行操作。 离屏渲染出发的场景有以...

  • cavas的用法

    变换操作 状态保存和恢复

  • 温故而知新-iOS圆角与离屏渲染

    摘要 离屏渲染是指 GPU 不在当前屏幕缓冲区进行渲染,会创建新的缓冲区。 为什么会有离屏渲染? 因为 GPU 是...

  • iOS 离屏渲染认知及解决方案

    离屏渲染 要理解离屏渲染,需要先了解两个名词,OffScreen Buffer(离屏缓冲区),Frame Buff...

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/exwnqctx.html