如何在 c# winform 中转换 painteventargs 的来源?

How to Transforming origin for painteventargs in a c# winform?

我想画一些坐标几何中的几何图形。我在 panels paint event

中编写了以下代码
Graphics g = e.Graphics;

//Transforming (0,0) origin at center of the panel
g.TranslateTransform(panel1.Width / 2, panel1.Height / 2);

// For Drawing Axes
g.DrawLine(Pens.Red, new Point(-300, 0), new Point(300, 0));
g.DrawLine(Pens.Red, new Point(0,-300), new Point(0,300));


g.DrawEllipse(Pens.Blue, new Rectangle(50,50,100,100));// this circle should come in I-quad

这里理解为,由于我的原点变换到面板的中心, 水平线下方的点是+ve,水平线上方的点是-ve。类似地,垂直线右边的点是 +ve,左边的点是 -ve。

如何翻转水平线,让上面的值应该是+ve,下面的值应该是-ve(如在坐标平面中)? 我画的圆圈应该是 1 象限而不是 4 象限。

将以下行添加到您的转换中。

g.ScaleTransform(1.0F, -1.0F);