Ellipse drehen



  • Hallo,

    wie kann ich mit der GDI (CDC) eine gedrehte Ellipse zeichnen (z.B. 30°C gedreht). Mit den Funktionen die ich gefunden habe, kann ich nur eine Ellipse in ein Rechteck (stehende bzw. liegend) einpassen...

    Vielen vielen Dank für Eure Hilfe.....



  • Hat sich erledigt. THX 4 ur help ^^


  • Administrator

    Könntest du uns sagen wie du es gemacht hast? Wäre womöglich noch interessant, denn ich wüsste derzeit nicht so recht, wie ich es sinnvoll angehen könnte. Und anscheinend hat es auch niemand gewusst *g*

    Grüssli



  • Hallo,

    blöd wenn man sein Benutzernamen nicht registrien lässt. Die 2. Antwort kam nicht von mir, das Problem besteht also immer noch!

    Vielen Dank



  • Ich hole diesen uralten Thread noch mal aus der Versenkung, da ich momentan vor genau diesem Problem stehe.
    Hat jemand irgendeine Idee, wie mit der GDI eine gedrehte Ellipse gezeichnet werden kann?



  • was mir dazu einfällt ist CDC::SetWorldTransform damit hab ich zumindest schon mal ein Bitmap gedreht, ob das auch bei einer ellipse geht hab ich nicht probiert.



  • Mit SetWorldTransform kann ich wohl eine einzelne Ellipse bzw. das ganze Bild drehen, ich möchte aber so etwas zeichnen:

    http://kapplerfamilie.de/Img/Ellipsen.gif
    (kann man hier im Forum keine Bilder direkt anzeigen?)

    Da müssten die Ellipsen gleich einzeln gedreht gezeichnet werden, nicht hinterher alle zusammen...

    Oder übersehe ich etwas?

    Oder kann ich SetWorldTransform mehrmals hintereinander aufrufen?
    Etwa so: Ellipse zeichnen, einen Schritt drehen, nächste Ellipse zeichnen, nächsten Schritt drehen (wobei die zuerst gezeichnete Ellipse auch mitgedreht wird) und so weiter bis alle rundum gezeichnet und hingedreht wurden...


  • Mod

    AndRo67 schrieb:

    Mit SetWorldTransform kann ich wohl eine einzelne Ellipse bzw. das ganze Bild drehen, ich möchte aber so etwas zeichnen:

    http://kapplerfamilie.de/Img/Ellipsen.gif
    (kann man hier im Forum keine Bilder direkt anzeigen?)

    Da müssten die Ellipsen gleich einzeln gedreht gezeichnet werden, nicht hinterher alle zusammen...

    Ja und? Ich verstehe Dein Problem nicht.
    Du setzt einfach nacheinander für jede Ellipse SetWorldTransform neu.

    Das solltest Du sogar mit dem MSDN Sample hier testen können.
    http://msdn.microsoft.com/en-us/library/dd145174(VS.85).aspx



  • Bezieht sich also SetWorldTransform nur auf alle nachfolgenden Zeichenoperationen, alles was "vorher" gezeichnet wurde bleibt untransformiert?

    Oder wird durch SetWorldTransform der gesamte Zeichenbereich mit allem, was bisher gezeichnet wurde, transformiert?



  • Hat sich erledigt, ich habe es mal ausprobiert:
    SetWorldTransform wirkt auf alle Zeichenoperationen, die nach dem Aufruf durchgeführt werden. Alles vorher gezeichnete bleibt "an seinem Platz".

    Das hatte ich ursprünglich missverstanden, ich dachte, dass durch SetWorldTransform die "bisherige Welt" transformiert wird, also der bis dahin existierende Zeichenbereich.

    Jetzt muss ich nur noch die Geschichte mit der Transformationsmatrix verstehen, dann sollte das, was ich vorhabe, funktionieren.

    Danke für die Hinweise...


Anmelden zum Antworten