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);
```
<img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f1ph46qaj30u01hcgm3.jpg" width = "300"/>
<img src="http://ww3.sinaimg.cn/large/005Xtdi2jw1f2f1ph46qaj30u01hcgm3.jpg" width="300"/>
我们首先将坐标系移动一段距离绘制一个圆形,之后再移动一段距离绘制一个圆形,<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
@@ -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)
@@ -222,7 +222,7 @@
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
@@ -240,7 +240,7 @@
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>
``` java
@@ -262,7 +262,7 @@
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)
@@ -299,7 +299,7 @@ Y = sy * x + y
mPaint.setColor(Color.BLUE); // 绘制蓝色矩形
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>
``` java
@@ -318,7 +318,7 @@ Y = sy * x + y
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)
@@ -440,7 +440,7 @@ public int saveLayerAlpha (float left, float top, float right, float bottom, int
## About Me
### 作者微博: <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>
******
## 四.参考资料