diff --git a/CustomView/Advance/[03]Canvas_Convert.md b/CustomView/Advance/[03]Canvas_Convert.md index 13f253b..2e1c820 100644 --- a/CustomView/Advance/[03]Canvas_Convert.md +++ b/CustomView/Advance/[03]Canvas_Convert.md @@ -61,7 +61,7 @@ canvas.drawCircle(0,0,100,mPaint); ``` - + 我们首先将坐标系移动一段距离绘制一个圆形,之后再移动一段距离绘制一个圆形,两次移动是可叠加的。 @@ -105,7 +105,7 @@ ``` (为了更加直观,我添加了一个坐标系,可以比较明显的看出,缩放中心就是坐标原点) - + 接下来我们使用第二种方法让缩放中心位置稍微改变一下,如下: ``` java @@ -124,7 +124,7 @@ ``` (图中用箭头指示的就是缩放中心。) - + 前面两个示例缩放的数值都是正数,按照表格中的说明,**当缩放比例为负数的时候会根据缩放中心轴进行翻转**,下面我们就来实验一下: @@ -194,7 +194,7 @@ } ``` - + ***** #### ⑶旋转(rotate) @@ -222,7 +222,7 @@ canvas.drawRect(rect,mPaint); ``` - + 改变旋转中心位置: ``` java @@ -240,7 +240,7 @@ canvas.drawRect(rect,mPaint); ``` - + 好吧,旋转也是可叠加的 ``` java @@ -262,7 +262,7 @@ canvas.rotate(10); } ``` - + ***** #### ⑷错切(skew) @@ -299,7 +299,7 @@ Y = sy * x + y mPaint.setColor(Color.BLUE); // 绘制蓝色矩形 canvas.drawRect(rect,mPaint); ``` - + 如你所想,错切也是可叠加的,不过请注意,调用次序不同绘制结果也会不同 ``` java @@ -318,7 +318,7 @@ Y = sy * x + y canvas.drawRect(rect,mPaint); ``` - + ***** #### ⑸快照(save)和回滚(restore) @@ -440,7 +440,7 @@ public int saveLayerAlpha (float left, float top, float right, float bottom, int ## About Me ### 作者微博: @GcsSloop - + ****** ## 四.参考资料