如何在圆上绘制月牙形状

时间:2016-10-30 16:33:59

标签: android canvas shape

我想在画布上创建这样的形状。我知道如何绘制一个带有笔划的圆圈,但我想要一个新月形对圆圈的影响。

enter image description here

以下是圈子的代码:

          Bitmap bitmap = Bitmap.createBitmap(50, 50, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        float mid1;
        float min1,fat1,half1,rad1;

            mid1 = ImageWidth / 2;
            min1 = Math.min(ImageWidth, ImageHeight);
            fat1 = min1 / 17;
            half1 = min1 / 2;
            rad1 = half1 - fat1;
            mid1 = mid1 - half1;

        Paint paint = new Paint();
        paint.setAntiAlias(true);
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(color);
        canvas.drawCircle(mid1 + half1, half1, rad1, paint);

该代码适用于该圈子。我知道如何绘制笔画,但我不能创造新月形效果。

2 个答案:

答案 0 :(得分:2)

设置一个圆形clip path,然后在x和y中绘制一个替换为某个数量的第二个圆。

答案 1 :(得分:0)

pic

您可以参考此view,使用贝塞尔曲线绘制,使用PorterDuff.Mode.DST_OUT获取正确的局部视图(月亮视图)。