如何将MotionEvent坐标与原始图像坐标进行比较?

时间:2014-01-14 10:51:54

标签: android

我有一张图片(ImageView)。我在图像上有一些区域。当用户点击屏幕时,我想检测选择了哪个区域。

我已识别原始图像上的区域边界,但MotionEvent的x和y已关闭。

我尝试了逐像素转换(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, metrics)),但它们仍处于关闭状态。它当然与屏幕尺寸/密度等有关,但究竟如何获得原始图像的触摸事件的像素值? (反之亦然 - 如何将原始图像坐标转换为与运动事件的x和y相当的东西)

1 个答案:

答案 0 :(得分:0)

我设法使用ImageViewpic)的右下坐标与实际图像尺寸(568x1207)进行比较计算。

float xCoef = 568f / pic.getRight();
float yCoef = 1207f / pic.getBottom();
float x = event.getX() * xCoef;
float y = event.getY() * yCoef;