在位图上绘制一个圆圈

时间:2013-03-07 14:18:05

标签: android android-canvas

我在这里搜索了许多答案,用于使用画布在位图上绘制圆圈。但是,我在代码中遇到了一些错误,应用程序停止了,没有任何异常。

有人能给我一些帮助吗?它工作正常,我创建一个空白位图并在其上绘制一个圆。 任何帮助将不胜感激!

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);

2 个答案:

答案 0 :(得分:4)

读取资源位图不可变的地方。尝试...

bmp = bmp.copy(bmp.getConfig(), true);

答案 1 :(得分: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);