Android 的Canvas的drawArc方法参数介绍

Canvas有一个方法drawArc这是用来绘制一个圆弧的
方法名为

drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, Paint paint)

里面参数很多,今天网上搜索了一下,都说的不准确和详细,所以写个博客记录一下

首先看下下面的这个代码

   paint.setStyle(Paint.Style.FILL); // 填充模式
        canvas.drawArc(100, 100, 700, 400, -110, 100, true, paint); // 绘制扇形图形1
        canvas.drawArc(100, 100, 700, 400, 20, 140, false, paint); // 绘制弧形图形2
        paint.setStyle(Paint.Style.STROKE); // 画线模式
        canvas.drawArc(100, 100, 700, 400, 180, 60, false, paint); // 绘制不封口的弧形图形3
//        练习内容:使用 canvas.drawArc() 方法画弧形和扇形

效果图如下
这里写图片描述

首先简单的说下参数的意思,然后下面对照图来讲解
boolean useCenter 是否连接到圆心 true为连接圆心,false为不连接圆心
float startAngle 开始绘制的起始角度
float sweepAngle 绘制范围
float left, float top, float right, float bottom
这4个参数我理解为外切的矩形
比如我将100, 100, 700, 400这四个点画出来一对比 就很清楚了
这里写图片描述

黑色区域为我用100, 100, 700, 400这四个点画出来的矩形
代码为
canvas.drawRect(100,100,700,400,paint);
很明显的看出,这四个点是外切矩形,同时以矩形的正中心作为坐标系
注意android中坐标系,Y轴为下正上负 和正常的数学里面的相反

首先看下图一
代码为
canvas.drawArc(100, 100, 700, 400, -110, 100, true, paint); // 绘制扇形图形1
前面四个参数就不讲解了,接下来看-110,100这俩个参数
第一个参数是起始的弧度,第二个参数为范围幅度,对照图一
这里写图片描述

图上应该描述的很清楚了
圆心就是矩形的圆心,如果usercenter为true就会和圆心相连

对比usercenter为false同时style为fill的图二能很明显的看出区别

剩下俩个图可以按照我上面画的那样继续分析

到这里差不多对这个方法就讲解的差不多了

最后放几张xmode的混合模式官方图 方便查阅
这里写图片描述

这里写图片描述
这里写图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值