myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE7
   » Gadget für Vista
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin
» Accessoires

Ressourcen
» .NET-Glossar
» guide to C#
» openbook: Visual C#
» openbook: OO
» .NET BlogBook
» MSDN Webcasts
» dotnetjob.de
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Bankverbindung
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grafik und Sound » GDI+ Rotation wieder rücksetzen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

GDI+ Rotation wieder rücksetzen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
ARO ARO ist männlich
myCSharp.de-Mitglied

Dabei seit: 15.03.2012
Beiträge: 2
Entwicklungsumgebung: Visual Stusio 2010 Prof.
Herkunft: OÖ


ARO ist offline

GDI+ Rotation wieder rücksetzen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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)
        {
            // draw text, rotate and positioning
            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();
        }
15.03.2012 10:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
winSharp93 winSharp93 ist männlich
myCSharp.de-Team (Moderation)

images/avatars/avatar-2918.png


Dabei seit: 19.01.2007
Beiträge: 5.712
Entwicklungsumgebung: VS 2010 Professional
Herkunft: Freiburg / Stuttgart


winSharp93 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo ARO,

ich würde es mal mit  Graphics.ResetTransform probieren.
15.03.2012 10:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
ARO ARO ist männlich
myCSharp.de-Mitglied

Dabei seit: 15.03.2012
Beiträge: 2
Entwicklungsumgebung: Visual Stusio 2010 Prof.
Herkunft: OÖ

Themenstarter Thema begonnen von ARO

ARO ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke sehr ... funktioniert jetzt wunderbar!
15.03.2012 10:55 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2013 myCSharp.de-Team. Alle Rechte vorbehalten. 19.05.2013 14:50