我写了一个应用程序来捕获图片并将其保存在SD卡上。然后我可以将该图像加载到imageview中以显示它。我想在显示它之前在位图上画一个圆圈。下面的代码显示位图,但没有圆圈,任何想法为什么圆圈不存在?
感谢。
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);
答案 0 :(得分:5)
您可以查看bm.getWidth
。如果您使用的样本数量为5,那么您的图像将比原始图像小5倍,从而导致您的圆圈从图像的右侧消失。
你可以尝试:
paint.setStrokeWidth(10);
canvas.drawCircle(50, 50, 25);
就像进行健全检查一样。