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修復,但它可以更容易地適應開箱即用的方式。 –