如何在 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);
我想画一些坐标几何中的几何图形。我在 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);