C# 确定ImageView上的位置

C# 确定ImageView上的位置,c#,android,xamarin,bitmap,C#,Android,Xamarin,Bitmap,我正在开发一个移动应用程序(xamarin.android&c#)。情况是显示具有特定宽度的图像,例如2380像素。我使用“ShowPress”手势,这样用户就可以在图片上标记一个点。现在我需要照片上的位置 事件获取一个参数,该参数提供与屏幕相关的值RawX和RawY。如何获取ImageView的大小?我需要它来确定原始位图上的位置 public void OnShowPress(MotionEvent e) { var x = e.RawX; v

我正在开发一个移动应用程序(xamarin.android&c#)。情况是显示具有特定宽度的图像,例如2380像素。我使用“ShowPress”手势,这样用户就可以在图片上标记一个点。现在我需要照片上的位置

事件获取一个参数,该参数提供与屏幕相关的值RawX和RawY。如何获取ImageView的大小?我需要它来确定原始位图上的位置

    public void OnShowPress(MotionEvent e)
    {
        var x = e.RawX;
        var y = e.RawY;

如何实现这一点?

您可以阅读以下文档:

位置与屏幕相关:

返回此事件的原始X坐标。对于屏幕上的触摸事件,这是在为包含窗口和视图调整事件之前,事件在屏幕上的原始位置

位置e.GetX/e.GetY与视图相关:

第一个指针索引的getX(int)(可以是任意指针标识符)

更好地理解:
  • RawX/RawY
    ,保证返回相对于设备屏幕的绝对坐标

  • GetX()/GetY()
    时,应该返回相对于调度它们的视图的坐标。


因此,您可以使用
e.GetX()/e.GetY()
确定原始位图上的位置。

您需要图像视图的大小吗?
    public void OnShowPress(MotionEvent e)
    {
        var x = e.RawX;
        var y = e.RawY;