2

キャンバスを使用してビットマップに円を描くための多くの答えをここで検索しました。しかし、コードにエラーが発生し、アプリケーションは例外なく停止しました。

誰か助けてもらえますか?空白のビットマップを作成し、その上に円を描くと問題なく動作します。どんな助けでもありがたいです!

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.main);

Paint paint = new Paint();
//paint.setAntiAlias(true);
paint.setColor(Color.BLUE);

Canvas canvas = new Canvas(bmp);
canvas.drawCircle(50, 50, 10, paint);

ImageView imageView = (ImageView)findViewById(R.id.imageView1);
//imageView.setAdjustViewBounds(true);
imageView.setImageBitmap(bmp);
4

2 に答える 2

4

リソースのビットマップが不変であることをどこかで読んでください。試す...

bmp = bmp.copy(bmp.getConfig(), true);
于 2013-03-07T14:28:13.573 に答える
0

これにより、指定された高さの円が描画されます

 private RectF outerCircle;
    diameter =400;

   int left = (width - diameter) / 2;
   int top = (height - diameter) / 2;
   int bottom = top + diameter;
   int right = left + diameter;
    outerCircle = new RectF(left, top, right, bottom);
于 2013-03-07T14:22:12.447 に答える