Matrix Klasse
-
Hallo,
kann mir mal einer sagen warum mein Rechteck nach unten verschoben wird.
Beim Translate ist die y Verschiebung doch immer 0 .
Pen myPen2 = new Pen(Color.Red, 1); Matrix myMatrix = new Matrix(); myMatrix.Translate(0, 0); myMatrix.Rotate(45); myMatrix.Translate(10, 0); e.Graphics.Transform = myMatrix; e.Graphics.DrawRectangle(myPen2, 0, 0, 100, 100);
-
das 2. Translate bewirkt scheinbar eine Verschiebung nach unten was ich gar nicht versteh
-
blurry333 schrieb:
das 2. Translate bewirkt scheinbar eine Verschiebung nach unten was ich gar nicht versteh
Was verstehst Du denn daran nicht?
-
na ich verschieb doch nur den x Wert( ist 10 ) und y ist 0 !
-
Und vorher hast du ein Rotate durchgeführt... beziehst du das gar nicht in deine Überlegungen mit ein?!
-
ja schon.
Aber da ist die Ecke immer noch ganz oben.
-
ja größer ich das x mache umso weiter rutscht es nach unten .
-
Zeichne dir mal ein normales Koordinatensystem auf ein Blatt Papier mit einer horizontalen x-Achse und einer vertikalen y-Achse.
Dann drehst du das Koordinatensystem um 45°. Und dann schau mal wohin die x-Achse des gedrehten zeigt im Vergleich zum anderen.
Dann überlege dir was passiert, wenn du das gedrehte Koordinatensystem auf deinen Bildschirm legst (der kein gedrehtes Koordinatensystem hat) und überlege dir, warum der Wert nach unten geht
-
Warum verschwindet mir mein Zeiger hier komplett , obwohl ich doch nur rotate sage ??
Pen myPen2 = new Pen(Color.Red, 1); int wert = 0; Matrix myMatrix = new Matrix(); myMatrix.Rotate(wert); wert += 6; e.Graphics.Transform = myMatrix; e.Graphics.DrawLine(myPen2, Width/2, Height/2, 100, 100);
-
aso ich versteh der koordinatenursprung ist die linke obere Ecke.
-
blurry333 schrieb:
aso ich versteh der koordinatenursprung ist die linke obere Ecke.
Genau
Ich hatte mich ewig nicht daran gewöhnt ^^
-
Kann man eigentlich die Form selber auch irgendwie drehen ?
-
blurry333 schrieb:
Kann man eigentlich die Form selber auch irgendwie drehen ?
Du meinst das ganze GUI Element drehen? Nicht das ich wüsste.