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() 方法画弧形和扇形

效果图如下
Android 的Canvas的drawArc方法参数介绍_第1张图片

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

黑色区域为我用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这俩个参数
第一个参数是起始的弧度,第二个参数为范围幅度,对照图一
Android 的Canvas的drawArc方法参数介绍_第3张图片

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

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

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

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

最后放几张xmode的混合模式官方图 方便查阅
Android 的Canvas的drawArc方法参数介绍_第4张图片

Android 的Canvas的drawArc方法参数介绍_第5张图片
Android 的Canvas的drawArc方法参数介绍_第6张图片

你可能感兴趣的:(安卓)