今天我们来实践下Android部分的裁切就是clip打头的方法以及一些几何矩阵变换,所谓的裁切,顾名思义就是裁剪啊,就是把一个图形按照另外一个图形切成我们想要的样子,例如我们想把一张图片裁剪为圆形或者矩形或者五角星等等我们想要的形状。而矩阵变换是怎么回事呢?矩阵变换就是进行图形的平移啊、缩放啊、旋转啊,或者在某个方向上拉伸形状啊,这类的操作。
裁切部分
- clipRect(int left, int top, int right, int bottom)
这个方法作用就是裁切一个矩形出来,但是图形不还是在canvas上面的,所以本质上还是裁切的canvas画布,使图形只是在裁切出来的那块画布上展示,这就达到了裁切效果,同样参数就按照绘制一个矩形的参数传进去就好了,就是可以认为是矩形的左上角以及右下角的坐标- clipPath(@NonNull Path path)
这个方法比上面的方法灵活很多,因为它传入的是一个Path,所以就提供了更多裁切的可能性了,因为Path本身就可以绘制很多不同的形状啊,发挥大家想象力的时候到了
几何变换
- canvas.translate(float dx, float dy)
画布的平移,其实就是坐标系的平移,原来坐标系原点是在手机屏幕左上角,如果canvas.translate(200, 0)就代表将坐标系向右移动了200,所以现在的坐标原点变成了(200,0)了,就是这么个意思- canvas.rotate(float degrees, float px, float py)
画布的旋转,deg