qq_遁去的一_1
不,没有办法更改绘图系统,使 0,0 不在左上角。您可以让 Graphics 应用转换(请参阅@TaW 的评论),但它有其缺点,例如渲染文本和图像颠倒,或者您可以自己对坐标执行数学转换:Point ConvertAsIf00IsCenterAndPositiveYGoesUpwards(Point p, Rectangle r){ return new Point(r.Width/2 + p.X, r.Height/2 - p.Y);}您想要一条在“您的绘图系统”中从 0,0 到 100,100 的线(其中 0,0 是中心,两个轴的范围是 -100 到 +100)。Rectangle在使用“0,0 是左上角”坐标系的 200x200画布区域 (the ) 上,您实际上想要一条从 100,100 到 200,0 的线。此数学将您的 0,0 点转换为 100,100,将您的 100,100 点转换为 200,0。同样,对于其他点,例如 100,-100(您的右下角),它变为 200,200(绘图系统的右下角),而您的 -100,100(您的左上角)变为 0,0(绘图系统的左上角)等Rectangle r = new Rectangle(200,200);Point p1 = new ConvertAsIf00IsCenterAndPositiveYGoesUpwards(Point(0,0), r);Point p2 = new ConvertAsIf00IsCenterAndPositiveYGoesUpwards(Point(100,100), r);graphics.DrawLine(pen, p1, p2);您可能想将该方法命名为更活泼的名称。老实说,我想说的是,开发人员可能会发现仅习惯于左上角为 0,0 且下/右为正值的坐标系会更容易、更有效,即使这与图表有所不同他们在小学数学中习惯的系统,其中 0,0 位于中心,负数向下/向左移动,正数向上/向右移动