This commit is contained in:
GcsSloop
2016-10-10 23:48:37 +08:00
parent dec63ed5a7
commit e7e53faa0f

View File

@@ -61,7 +61,7 @@
canvas.drawCircle(0,0,100,mPaint); canvas.drawCircle(0,0,100,mPaint);
``` ```
<img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f1ph46qaj30u01hcgm3.jpg" width = "300"/> <img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f1ph46qaj30u01hcgm3.jpg" width="300"/>
我们首先将坐标系移动一段距离绘制一个圆形,之后再移动一段距离绘制一个圆形,<b>两次移动是可叠加的</b>。 我们首先将坐标系移动一段距离绘制一个圆形,之后再移动一段距离绘制一个圆形,<b>两次移动是可叠加的</b>。
@@ -105,7 +105,7 @@
``` ```
(为了更加直观,我添加了一个坐标系,可以比较明显的看出,缩放中心就是坐标原点) (为了更加直观,我添加了一个坐标系,可以比较明显的看出,缩放中心就是坐标原点)
<img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f1vphdjjj30u01hct9r.jpg" width = "300" /> <img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f1vphdjjj30u01hct9r.jpg" width="300" />
接下来我们使用第二种方法让缩放中心位置稍微改变一下,如下: 接下来我们使用第二种方法让缩放中心位置稍微改变一下,如下:
``` java ``` java
@@ -124,7 +124,7 @@
``` ```
(图中用箭头指示的就是缩放中心。) (图中用箭头指示的就是缩放中心。)
<img src="http://ww4.sinaimg.cn/large/005Xtdi2jw1f2f1w7kv8dj30u01hct9s.jpg" width = "300" /> <img src="http://ww4.sinaimg.cn/large/005Xtdi2jw1f2f1w7kv8dj30u01hct9s.jpg" width="300" />
前面两个示例缩放的数值都是正数,按照表格中的说明,**当缩放比例为负数的时候会根据缩放中心轴进行翻转**,下面我们就来实验一下: 前面两个示例缩放的数值都是正数,按照表格中的说明,**当缩放比例为负数的时候会根据缩放中心轴进行翻转**,下面我们就来实验一下:
@@ -194,7 +194,7 @@
} }
``` ```
<img src="http://ww4.sinaimg.cn/large/005Xtdi2jw1f2f1yfn22xj30u01hcta9.jpg" width = "300" /> <img src="http://ww4.sinaimg.cn/large/005Xtdi2jw1f2f1yfn22xj30u01hcta9.jpg" width="300" />
***** *****
#### ⑶旋转(rotate) #### ⑶旋转(rotate)
@@ -222,7 +222,7 @@
canvas.drawRect(rect,mPaint); canvas.drawRect(rect,mPaint);
``` ```
<img src="http://ww2.sinaimg.cn/large/005Xtdi2jw1f2f1yws38nj30u01hcmy8.jpg" width = "300" /> <img src="http://ww2.sinaimg.cn/large/005Xtdi2jw1f2f1yws38nj30u01hcmy8.jpg" width="300" />
改变旋转中心位置: 改变旋转中心位置:
``` java ``` java
@@ -240,7 +240,7 @@
canvas.drawRect(rect,mPaint); canvas.drawRect(rect,mPaint);
``` ```
<img src="http://ww2.sinaimg.cn/large/005Xtdi2jw1f2f1zcmwb2j30u01hcmy9.jpg" width = "300" /> <img src="http://ww2.sinaimg.cn/large/005Xtdi2jw1f2f1zcmwb2j30u01hcmy9.jpg" width="300" />
<b>好吧,旋转也是可叠加的</b> <b>好吧,旋转也是可叠加的</b>
``` java ``` java
@@ -262,7 +262,7 @@
canvas.rotate(10); canvas.rotate(10);
} }
``` ```
<img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f1zsnj00j30u01hc75a.jpg" width = "300" /> <img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f1zsnj00j30u01hc75a.jpg" width="300" />
***** *****
#### ⑷错切(skew) #### ⑷错切(skew)
@@ -299,7 +299,7 @@ Y = sy * x + y
mPaint.setColor(Color.BLUE); // 绘制蓝色矩形 mPaint.setColor(Color.BLUE); // 绘制蓝色矩形
canvas.drawRect(rect,mPaint); canvas.drawRect(rect,mPaint);
``` ```
<img src="http://ww4.sinaimg.cn/large/005Xtdi2jw1f2f20h7i23j30u01hcdgq.jpg" width = "300" /> <img src="http://ww4.sinaimg.cn/large/005Xtdi2jw1f2f20h7i23j30u01hcdgq.jpg" width="300" />
<b>如你所想,错切也是可叠加的,不过请注意,调用次序不同绘制结果也会不同</b> <b>如你所想,错切也是可叠加的,不过请注意,调用次序不同绘制结果也会不同</b>
``` java ``` java
@@ -318,7 +318,7 @@ Y = sy * x + y
canvas.drawRect(rect,mPaint); canvas.drawRect(rect,mPaint);
``` ```
<img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f20w0rffj30u01hcgm8.jpg" width = "300" /> <img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f20w0rffj30u01hcgm8.jpg" width="300" />
***** *****
#### ⑸快照(save)和回滚(restore) #### ⑸快照(save)和回滚(restore)
@@ -440,7 +440,7 @@ public int saveLayerAlpha (float left, float top, float right, float bottom, int
## About Me ## About Me
### 作者微博: <a href="http://weibo.com/GcsSloop" target="_blank">@GcsSloop</a> ### 作者微博: <a href="http://weibo.com/GcsSloop" target="_blank">@GcsSloop</a>
<a href="https://github.com/GcsSloop/AndroidNote/blob/magic-world/FINDME.md" target="_blank"> <img src="http://ww4.sinaimg.cn/large/005Xtdi2gw1f1qn89ihu3j315o0dwwjc.jpg" width=300/> </a> <a href="https://github.com/GcsSloop/AndroidNote/blob/magic-world/FINDME.md" target="_blank"> <img src="http://ww4.sinaimg.cn/large/005Xtdi2gw1f1qn89ihu3j315o0dwwjc.jpg" width="300"/> </a>
****** ******
## 四.参考资料 ## 四.参考资料