我已经写了一个应用程序,可以捕捉照片并将其保存在SD卡上。然后,我可以将该图像加载到一个图像视图中以显示它。在显示之前,我想在位图上画一个圆圈。下面的代码显示了位图,但没有圆圈,你知道为什么圆圈不在那里吗?
谢谢。
BitmapFactory.Options bfo = new BitmapFactory.Options();
bfo.inSampleSize = 5;
Bitmap bm = BitmapFactory.decodeByteArray(imageArray, 0, imageArray.length, bfo);
Log.e(TAG, bm.toString());
//imageview.setImageBitmap(bm);
Bitmap bmOverlay = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), bm.getConfig());
canvas = new Canvas(bmOverlay);
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawBitmap(bm, new Matrix(), null);
canvas.drawCircle(750, 14, 11, paint);
imageview.setImageBitmap(bmOverlay);发布于 2011-04-04 01:15:41
你可以检查一下bm.getWidth。如果您使用的样本大小为5,那么您的图像将比原始图像小5倍,导致您的圆圈从图像的右侧消失。
您可以尝试:
paint.setStrokeWidth(10);
canvas.drawCircle(50, 50, 25);只是作为一种理智的检查。
https://stackoverflow.com/questions/5531062
复制相似问题