0
我想绘制一些几何图形,如坐标几何。我曾经在一个panels
paint event
如何转换c#winform中Painteventargs的原点?
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象限。
您正确标记轴,负Y轴位于控件的顶部。所有图形软件都将(0,0)放在左上角。回顾数十年来,与CRT的工作方式有关,电子束从左上方开始,向右移动,然后向下移动。你只是错误地标记了象限:)它可以通过ScaleTransform修复,但它可以更容易地适应开箱即用的方式。 –