diff --git a/问题/Canvas/Canvas(2).md b/问题/Canvas/Canvas(2).md index d0ed61d..5cecbf8 100644 --- a/问题/Canvas/Canvas(2).md +++ b/问题/Canvas/Canvas(2).md @@ -26,6 +26,7 @@ Matrix(矩阵) | getMatrix, setMatrix, concat | 实际画布的位移,缩放 ## 二.Canvas基本操作 上次呢我们了解了绘制颜色和绘制基本形状,这次会了解画布变换,绘制图片,绘制文字和绘制路径。 +***** ### 1.画布操作 #### 为什么要有画布操作? 画布操作可以帮助我们用更加容易理解的方式制作图形,如果你之前看过绘制太极和Canvas(1)最后的实例,你就会发现其中就有对translate的运用。 @@ -44,8 +45,9 @@ translate 是干什么用的呢? 下面对几种画布操作详细讲解。 +***** #### ⑴位移(translate) - 请注意,位移是基于当前位置移动,而不是基于屏幕左上角的物理位置移动,如下: + 请注意,位移是基于当前位置移动,而不是每次基于屏幕左上角的(0,0)点移动,如下: ``` // 省略了创建画笔的代码 @@ -62,8 +64,9 @@ translate 是干什么用的呢? title -我们首先将坐标系移动一段距离绘制一个圆形,之后再移动一段距离绘制一个圆形,两次移动是叠加的。 +我们首先将坐标系移动一段距离绘制一个圆形,之后再移动一段距离绘制一个圆形,两次移动是叠加的。 +***** #### ⑵缩放(scale) 缩放提供了两个方法,如下: ``` @@ -113,6 +116,7 @@ translate 是干什么用的呢? title +***** #### ⑶旋转(rotate) 和缩放一样,旋转同样提供了两种方法。 ``` @@ -138,6 +142,7 @@ translate 是干什么用的呢? canvas.drawRect(rect,mPaint); ``` +title 改变旋转中心位置: ``` @@ -155,10 +160,12 @@ translate 是干什么用的呢? canvas.drawRect(rect,mPaint); ``` +title -改变旋转中心的位置 +***** #### ⑷倾斜(skew) +***** #### ⑸快照(save)和回滚(restore)