Rotation von Grafiken



  • Hallo, ich habe ein Problem. Ich programmiere in der Firma mit Borland C++ Builder 6.
    Ich werte Wetterdaten aus und erstelle dynamische Wetterkarten. Ich habe eine Windrose und will einen kleinen Pfeil rotieren lassen (in die jeweilige Windrichtung).
    Die Rohdaten sind schon analysiert und perfekt zur Umsetzung, denn ich bekomme von den Messgeräten schon immer die richtige Windrichtung in °.
    Fertige Funktionen gibt es meiner Meinung nach nicht, aber wie realisiere nun mein Vorhaben?

    MfG
    Robert



  • bspw.: Du nimmst ein Image und setzt dir einen Pfeil aus Lines zusammen. Dann drehst du die über Transformationsgleichungen (gibts jede Menge im Internet dazu, Stichworte: Koordinatentransformation, Rotation, Bildschrimkoordinaten, Weltkoordinaten...). Oder du nimmst ein fertiges Bitmap (Pfeil) und drehst das. Dazu gab es schon Diskussionen zum Thema "Bitmap drehen".



  • Wo gibts diese Diskussion? Ich will ne Bitmap drehen, genau 😃



  • Zum Bsp.: "Rotieren eines Bildes um 90°". Du musst dann nicht die XY-Werte tauschen sondern jeden Pixel verschieben. Dazu legst du dir die Bildmitte als Drehzentrum fest und weist ihr die Koordinaten 0,0 zu. Dann ermittelst du relativ zu Mitte die Koordinaten des Pixels den du verschieben willst (alle Pixel) und bestimmst über den Pytagoras den Abstand (Radius). Mit dem Abstand sowie Sinus und Cosinus und deinem Drehwinkel (den du ja weist) ermittelst du die neuen Koordinaten. An deiner Stelle würde ich mir aber lieben einen Pfeil aus Linien oder Rechtecken basteln. Dann brauchst du nicht alle Punkte eines Bildes sondern nur die Punkte deiner Grafikprimitiven zu drehen. Das ist auch schneller.



  • Hallo,

    Du könntest in diesem Fall auch alle erforderlichen Grafiken vorher erstellen (sind bei Windrichtungen ja meist nur 16) und dann die jeweils erforderliche anzeigen.


Anmelden zum Antworten