在位图上绘制圆圈

tur*_*boy 4 graphics android bitmap

我写了一个应用程序捕获图片并将其保存在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);
Run Code Online (Sandbox Code Playgroud)

Mat*_*lis 5

你可能会检查bm.getWidth.如果您使用的样本大小为5,那么您的图像将比原始图像小5倍,导致您的圆圈从图像的右侧消失.

你可以尝试:

paint.setStrokeWidth(10);
canvas.drawCircle(50, 50, 25);
Run Code Online (Sandbox Code Playgroud)

就像一个健全检查.