android绘图canvas.clipRect()方法的作用

该方法用于裁剪画布,也就是设置画布的显示区域
调用clipRect()方法后,只会显示被裁剪的区域,之外的区域将不会显示
该方法最后有一个参数Region.Op,表示与之前区域的区域间运算种类,如果没有这个参数,则默认为Region.Op.INTERSECT
这几个参数的意义为:

  • DIFFERENCE是第一次不同于第二次的部分显示出来
  • REPLACE是显示第二次的
  • REVERSE_DIFFERENCE 是第二次不同于第一次的部分显示
  • INTERSECT交集显示
  • UNION全部显示
  • XOR补集 就是全集的减去交集生育部分显示

下面看一个例子

        paint.setAntiAlias(true);                           //设置画笔为无锯齿
        paint.setColor(Color.BLACK);                        //设置画笔颜色
        paint.setTextSize((float) 30.0);                    //设置字体大小

        canvas.clipRect(100, 100, 350, 600, Region.Op.INTERSECT);//设置显示范围
        canvas.drawColor(Color.RED);
        canvas.drawCircle(100,100,100,paint);

效果如下:
android绘图canvas.clipRect()方法的作用
解释一下
首先调用canvas的clipRect方法,剪切了一块矩形区域,也就是这一块矩形区域作为显示区域,然后我们调用canvas的drawColor方法,为画布设置成红色,现在画布也就是这一块矩形区域,我们从效果图中可以看出,最后drawCircle画了一个实心黑色的圆,我们看到只显示了在红色矩形的部分圆,黑色的扇形,很容易看出,其他部分不显示。
这就是clipxx的作用,设置画布的显示区域,注意,clipxx方法只对设置以后的drawxx起作用,已经画出来的图形,是不会有作用的。

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值