Painter rotieren/skalieren funktioniert nicht
Verfasst: 21. Juni 2011 04:07
Hallo nochmal,
mittlerweile sollte der eine oder andere mich in diesem Forum kennen, deswegen möchte ich mich nochmals recht herzlich für eure Geduld und für die nette Hilfe bedanken, denn ohne euch hätte ich wahrscheinlich noch Jahre für meine App gebraucht. Nun, ich bin fast durch mit dem praktischen Teil meiner Diplomarbeit und habe noch Zeit bis Ende diesen Monats alles abzuschließen. Leider stehe ich noch vor einer letzten großen Hürde und wie gesagt, die Zeit drängt !!!!
Ich habe in einem Widget mit dem Painter diverse Muster gezeichnet. Bevor ich diese Muster gezeichnet habe musste ich das Koordinatensystem, welches in der oberen, linken Ecke beginnt, mit setWindow() ändern. Dieses hat beispielsweise einen Wertebereich von x=770 und y=6670 bis x=800 und y=6600. Wie man erkennen kann beginnt die y-Achse mit dem größeren Wert und endet mit einem kleinerem Wert. Das habe ich bewusst so gemacht, damit die Muster korrekt gezeichnet werden, da die Koordinaten für solch ein Koordinatensystem ausgelegt sind. Im nächsten Schritt wollte ich dem Benutzer die Möglichkeit einräumen das Bild rotieren bzw skalieren zu lassen.
Dies habe ich folgendermaßen umgesetzt :
painter->setWindow(770,6670,30,-70);
painter->rotate(10.0);
painter->drawLine(770,6670,800,6600);
Nach meinem Verständnis sollte das Koordinatensystem um 10 Grad rotiert werden und dann gezeichnet werden. Leider passiert nichts bzw es wird einfach nicht gezeichnet. Der gleiche Code ohne das rotate() funktioniert einwandfrei bzw wenn ich ohne setWindow arbeite kann ich rotieren. Habe ich etwas übersehen oder falsch verstanden ? Muss ich irgendwas am Viewport ändern bzw welche Werte müsste ich übernehmen ? Für eure Hilfe wäre ich sehr dankbar.
MfG
marvel
mittlerweile sollte der eine oder andere mich in diesem Forum kennen, deswegen möchte ich mich nochmals recht herzlich für eure Geduld und für die nette Hilfe bedanken, denn ohne euch hätte ich wahrscheinlich noch Jahre für meine App gebraucht. Nun, ich bin fast durch mit dem praktischen Teil meiner Diplomarbeit und habe noch Zeit bis Ende diesen Monats alles abzuschließen. Leider stehe ich noch vor einer letzten großen Hürde und wie gesagt, die Zeit drängt !!!!
Ich habe in einem Widget mit dem Painter diverse Muster gezeichnet. Bevor ich diese Muster gezeichnet habe musste ich das Koordinatensystem, welches in der oberen, linken Ecke beginnt, mit setWindow() ändern. Dieses hat beispielsweise einen Wertebereich von x=770 und y=6670 bis x=800 und y=6600. Wie man erkennen kann beginnt die y-Achse mit dem größeren Wert und endet mit einem kleinerem Wert. Das habe ich bewusst so gemacht, damit die Muster korrekt gezeichnet werden, da die Koordinaten für solch ein Koordinatensystem ausgelegt sind. Im nächsten Schritt wollte ich dem Benutzer die Möglichkeit einräumen das Bild rotieren bzw skalieren zu lassen.
Dies habe ich folgendermaßen umgesetzt :
painter->setWindow(770,6670,30,-70);
painter->rotate(10.0);
painter->drawLine(770,6670,800,6600);
Nach meinem Verständnis sollte das Koordinatensystem um 10 Grad rotiert werden und dann gezeichnet werden. Leider passiert nichts bzw es wird einfach nicht gezeichnet. Der gleiche Code ohne das rotate() funktioniert einwandfrei bzw wenn ich ohne setWindow arbeite kann ich rotieren. Habe ich etwas übersehen oder falsch verstanden ? Muss ich irgendwas am Viewport ändern bzw welche Werte müsste ich übernehmen ? Für eure Hilfe wäre ich sehr dankbar.
MfG
marvel