关于自定义View中Canvas中一些方法的理解
2016-12-06 本文已影响30人
Serven_
1、Canvas.save();锁画布,保存之前画布的状态。
2、Canvas.translate(10,10);把当前画布的原点移动到(10,10)处,后面的操作都以这个点位参照,默认原点是(0,0),相当于画布的平移。
3、Canvans.restore();把当前画布返回到上一个Save之前的状态。
4、Canvas.scale(0.5f,0.5f);将画布进行缩放,以原点(0,0)为基准点缩放0.5倍。
5、Canvas.scale(0.5f,0.5f,100,100);将画布进行缩放,以原点(100,100)为基准点缩放0.5倍。
6、Canvas.rotate(45);将画布进行45°旋转,默认以原点(0,0)为基准点。
7、Canvas.rotate(45,100,100);将画布进行45°旋转,默认以原点(100,100)为基准点。通过此方法可以巧妙的进行环形刻度的绘制。
8、 public native void skew(float sx, float sy); float sx:将画布在x方向上倾斜相应的角度,sx为倾斜角度的tan值;float sy:将画布在y轴方向上倾斜相应的角度,sy为倾斜角度的tan值;Canvas.skew(1,0);在X轴进行45°的倾斜;Canvas.skew(0,1);在Y轴进行45°的倾斜;
![](https://img.haomeiwen.com/i1811350/da0a79c7391d7ba3.png)
![](https://img.haomeiwen.com/i1811350/0f60f5b7f6d4c4c3.png)
9、