2

キャンバスを使ってチャートを描いています。

ビットマップ画像;

image=//ここでキャンバスに描画したいビットマップを取得します

キャンバスcanvas=new Canvas(image);

//次のように円を描きます

canvas.drawCircle(cx、cy、radius、paint);

しかし、円の角は鋭くありません:

iiは次のようなものを示しています:

ここに画像の説明を入力してください

円の外径をシャープにする方法。

前もって感謝します..

4

3 に答える 3

4

ペイントを初期化するときは、次のプロパティを設定します。

paint.setAntiAlias(true);
paint.setDither(true);
paint.setFilterBitmap(true);

それぞれの機能については、Android のドキュメントを参照してください。

http://developer.android.com/reference/android/graphics/Paint.html

于 2012-09-17T07:53:23.987 に答える
1

まあ言ってみれば:

cx = 108.0F;
cy = 108.0F;
radius = 88.0F;
canvas.drawCircle(cx, cy, radius, paint);

例:

Paint p = new Paint();
     p.setAntiAlias(true);
     p.setFilterBitmap(true);
     p.setDither(true);
     p.setColor(Color.WHITE);
     p.setStrokeWidth(3.75F);
     p.setStyle(Paint.Style.STROKE);
     Bitmap bmp1 = Bitmap.createBitmap(216, 216, Bitmap.Config.ARGB_8888);
     Canvas canvas = new Canvas(bmp1);
     canvas.drawCircle(108.0F, 108.0F, 88.0F, p); // since the bitmap size is 216
         //then, the starting (x) and the end (y) points must begin from 
         //the center to be a nice circle, that's why I used 108 as 108*2 = 216.
         //and the 88 is the radius of the desired circle
于 2014-05-26T17:34:30.930 に答える
1

アンチエイリアスを設定する

paint.setAntiAlias(true);

于 2012-09-17T07:54:39.873 に答える