[英]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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.