我正在使用Xamarin为Android和iOS设计应用程序;但这与问题本身无关。
该应用程序的一个功能是让用户在屏幕上绘制一种草图。
让我们以一条简单的线为例:使用手指,用户可以在他们移动手指的位置画一条线。为此,我们使用适用于iOS和iOS的特定设备方法。机器人:
public override void TouchesMoved(NSSet touches, UIEvent evt)
{
UITouch touch = (UITouch)touches.AnyObject;
CGPoint currentPointiOS = touch.LocationInView(MainView);
}
public bool OnTouch(View v, MotionEvent e)
{
Point currentPointAndroid = new Point((int) e.GetX(), (int) e.GetY());
}
currentPointIOS
以磅为单位定义,currentPointAndroid
以像素定义。
一旦绘制了一条线(一组点,而不是iOS点,但带有x和y坐标的几何点),我们将其发送到服务器,然后可以从Android或iOS设备查看。
有没有办法以绝对方式存储有关线路的数据,以便可以在具有不同分辨率的其他设备上正确显示?有没有办法将Android像素转换为iOS点(如果这可能有用)?
非常感谢您的帮助。