3

キャンバスに2色の円を描きたいです。すべてが正しいですが、円は滑らかではありません。これは効果です:

これが効果です

そして、これはコードです:

private void drawCircle(Canvas c)
{
    RectF oval = new RectF(20, 20, 100, 100);

    c.drawArc(oval, -90, 180, false, getPaintWithColor(R.color.background));
    c.drawArc(oval, 90, 180, false, getPaintWithColor(R.color.font_grey));
}

private Paint getPaintWithColor(int colorId){
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setDither(true);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeWidth(4);
    paint.setColor(getResources().getColor(colorId));

    return paint;
}
4

1 に答える 1

3
paint.setFlags(Paint.ANTI_ALIAS_FLAG)

キャンバスにアンチエイリアシングを使用して描画できますか? を参照してください。

于 2014-04-25T16:50:17.850 に答える