在ImageView错误的坐标上绘制drawCircle

时间:2011-06-20 01:50:27

标签: android canvas imageview

我正在尝试在ImageView上画一个圆圈。圆形画,但错误的坐标。

 protected void onImageClicked(float x, float y, ImageView image) {
        if (diff.isDifferenceClicked((int)x, (int) y)){

        BitmapDrawable bmd = (BitmapDrawable) image.getDrawable();
        Bitmap bm= bmd.getBitmap();

        Paint paint = new Paint();
        paint.setAntiAlias(true);
        paint.setColor(Color.RED);
        paint.setStyle(Paint.Style.STROKE);

        Canvas canvas = new Canvas(bm);
        canvas.drawCircle(x, y, 25, paint);

        image.setImageBitmap(bm);}

    }

x和y是event.getX()event.getY() 并且圆圈越来越高,位于Bitmap的左侧。

1 个答案:

答案 0 :(得分:1)

问题在于位图大小。 文件的原始大小是正确的。但在此之后

 BitmapDrawable bmd = (BitmapDrawable) image.getDrawable();
    Bitmap bm= bmd.getBitmap();

尺寸延长15-20%