据我了解,您有一些缺乏坐标理解的问题。在现实世界中,我们将坐标平面视为形成 4 个象限的 X 线和 Y 线。
在计算机上,您只在第一象限工作,它是颠倒的,这意味着 origo (0,0) 是您的左上角。
因此,如果您不想在脑海中进行转换,请转换
public int computerX(int realWorldX)
{
return realWorldX+(int)(ImageControl.Width/2);
}
public int computerY(int realWorldY)
{
int Convert = realWorldY+(int)(ImageControl.Height/2);
int Flip = ImageControl.Height - Convert;
return Flip;
}
当您放置真实世界(1,1)时,您在程序中使用了其他一些坐标,从 25,25 的外观来看,您可以相乘,所以如果您想要真实世界 2,2,然后像这样写 50,50
public int computerX(int realWorldX)
{
return (realWorldX+(int)(ImageControl.Width/2))*yourXOffset;
}
public int computerY(int realWorldY)
{
int Convert = realWorldY+(int)(ImageControl.Height/2);
int Flip = ImageControl.Height - Convert;
return Flip*yourYOffset;
}