我在MotionEvent中使用getX()和getY()函数来获取用户触摸屏幕的位置的x和y位置。我也使用Android相机捕捉图像。这些图像是480x640。我的目的是使用用户绘制一个框并获取开始和结束x,y位置并使用它们来创建一个框并裁剪图像。 不幸的是,即使用户使用安卓屏幕显示正确的区域(显示来自摄像头的视频),MotionEvent的坐标根本不与图像上的正确位置相关。有时我从MotionEvent获得的x,y坐标实际上超过480或640。 Android屏幕的尺寸是否与图像的尺寸不同?或者从MotionEvent中的x,y位置对应于其他东西
答案 0 :(得分:0)
返回的坐标取决于正在使用的指针,但通常在屏幕坐标中,因此要从视图中获取相对于视图位置需要偏移的坐标。
请参阅:
http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_X
对于视图的偏移使用:
https://developer.android.com/reference/android/view/View.html#getLeft() https://developer.android.com/reference/android/view/View.html#getTop()