Ich soll mit GDI+ eine Skizze erstellen und Beschriften. Das klappt soweit auch mit normalen Formen. Auch Text ist soweit kein Problem. Nur wenn ich den Text drehe dann merkt er sich diese Rotation und dreht danach alle Objekt um diesen Wnkel.
Sämtliche Versuche den Winkel mit negativem Wert bzw. durch aufruf mit 0 zurückzustellen haben nicht funktioniert.
Als rotate wird 270 übergeben, Das Graphics Objekt g ist für das Form Fenster deklariert. Diese Funktion wird immer wieder aufgerufen und dazwischen andere Objekte gezeichnet, ab dem 1. Aufruf werden alle Objekte um die 270° gedreht.
Hat jemand eine Idee wie ich das wegbekomme?
C#-Code: |
private void DrawText(float pointX, float pointY, float rotate, string text, Font f)
{
SizeF sz = g.MeasureString(text, f);
Matrix m = new Matrix();
m.Translate(-pointX - sz.Width / 2, -pointY - sz.Height / 2);
m.Rotate(rotate, MatrixOrder.Append);
m.Translate(pointX + sz.Width / 2, pointY + sz.Height / 2, MatrixOrder.Append);
g.Transform = m;
g.DrawString(text, f, Brushes.Black, new PointF(pointX, pointY));
m.Reset();
m.Dispose();
}
|