Canvas中的scale与translate详解

Posted liangklfang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Canvas中的scale与translate详解相关的知识,希望对你有一定的参考价值。

矩阵变换是图形绘制中很重要的一个概念,本章节主要对矩阵变换中的 scale、translate 方法 进行详细的剖析,同时阐述了对 Canvas 进行 scale 操作时候会有相应的副作用产生,对于这种副作用我们又该如何避免。

1.Canvas 上下文变换矩阵表示

在上一个章节《Canvas 上下文详解》中讲述过,Canvas 上下文变换可以通过矩阵 matrix 来描述,matrix 的矩阵变换遵循下面的标准。其中 scaleX/Y 表示水平/垂直方向的缩放、skewX/skewY 表示水平/垂直方向的错切、translateX/Y 表示水平垂直方向的平移。具体表示规则如下:

matrix( scaleX, skewY, skewX, scaleY, translateX, translateY )

在 Canvas 绘图的时候,如果没有指定任何上下文变换,那么默认的上下文变换规则就是单位矩阵,单位矩阵各矩阵分量如下。

[1, 0, 0, 

以上是关于Canvas中的scale与translate详解的主要内容,如果未能解决你的问题,请参考以下文章

Canvas 矩阵变换与matrix镜像详解

Android 中的 Matrix

Animation动画详解——animateLayoutChanges与LayoutTransition

canvas入门

Animation动画详解——layoutAnimation与gridLayoutAnimation

transform中的scale跟translate的使用问题总结