精通Android自定义View(十一)绘制篇Canvas分析之裁剪

clipRect(int left, int top, int right, int bottom) 
这个方法作用就是裁切一个矩形出来,但是图形不还是在canvas上面的,所以本质上还是裁切的canvas画布,使图形只是在裁切出来的那块画布上展示,这就达到了裁切效果,同样参数就按照绘制一个矩形的参数传进去就好了,就是可以认为是矩形的左上角以及右下角的坐标


clipPath(@NonNull Path path) 
这个方法比上面的方法灵活很多,因为它传入的是一个Path,所以就提供了更多裁切的可能性了,因为Path本身就可以绘制很多不同的形状

 

        canvas.save();
        //定义一个圆形区域
        path.addCircle(500,500,400, Path.Direction.CCW);
        //裁剪圆形区域,也就是说之后绘制的内容只有在圆形区域内的内容才会显示出来
        canvas.clipPath(path);
        //绘制一个图片
        Bitmap bitmap =   BitmapFactory.decodeResource(getResources(), R.drawable.snoopy);
        canvas.drawBitmap(bitmap,100,100,paint);
        canvas.restore();
        //至此显示出来的是一个圆形图片

 

早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页