在 Imageview onClick() 中获取图像的 x、y,比例类型为 fitCenter

Get x,y of image in Imageview onClick() with scale type fitCenter

我有一个 ImageView,通过使用图像分辨率,我在该图像

上放置了 canvas 个对象

当我触摸 ImageView 时,它应该 return 图像的 x,y 而不是 Imageview。 我不想使用 FitXY 秤类型

目前我正在获取 Imageview 的 x,y

iv.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        float x =  (event.getX())/2; // or getRawX();
                        float y =  (event.getY())/2;
                        System.out.println("drawn bounds:cx: "+x+"cy: "+y);
    return false;
            }
        });

请帮我获取图像的 x,y 而不是 Imageview。

试试这个以获得图像的 XY

float bitmapWidth = bitmap.getWidth();
float bitmapHeight = bitmap.getHeight();    

float imageWidth = iv.getWidth();
float imageHeight = iv.getHeight();

float proportionateWidth = bitmapWidth / imageWidth;
float proportionateHeight = bitmapHeight / imageHeight;

int tapX = (int) (event.getX() * proportionateWidth);
int tapY = (int) (event.getY() * proportionateHeight);

希望对您有所帮助!