Forum: PC-Programmierung C++ Visual Studio.NET 2003: Pfeil grafisch darstellen


von Manu (Gast)


Lesenswert?

Guten Abend,

wie kann man unter Microsoft Visual Studio.NEt 2003 C++ einen Pfeil 
grafisch ausgeben? Linien kann ich schon ausgeben. Dies habe ich mit der 
Klasse CPEN realisiert.

von Uhu U. (uhu)


Lesenswert?

Wenn du Linien kannst, dann mußt du sie nur noch so zusammenbasteln, daß 
das Ganze wie ein Pfeil aussieht.

von Manu (Gast)


Lesenswert?

Hmmm, wie kann man den sonst noch mit der GDI einen Pfeil grafisch 
ausgeben?

von Manu (Gast)


Lesenswert?

Das mit dem zusammensetzen ist doch zu heftig und kompliziert.

von Karl H. (kbuchegg)


Lesenswert?

Was ist daran heftig?

  Ein Pfeil ist eine gerade Linie von links nach rechts.
  An den Endpunkt rechts geht es dann ein kleines Stück
  nach oben. Von dieser Position aus geht es wieder zurück
  auf die Mittellinie und ein Stück nach rechts. Und wieder
  nach links zurück und noch weiter nach unten.
  von dort wieder senkrecht zurück bis kurz vor die Mittellinie
  Dann nach links, bis der Endpunkt der Linie unter dem
  Anfangspunkt der allerersten Linie liegt.
  Fehlt noch die schliessende Linie zum Anfangspunkt der
  ganzen Übung.




               *
               |\
    ---------- \
    |             +
    ---------- /
               |/
               *

Summa, summarum sind das 7 Linien wobei jede Linie jeweils
an ihren Vorgänger anschliesst. Da ist nichts heftiges
dabei.

Heftig wird es, wenn sich der Pfeil als ebene Figur im
3 dimensionalen Raum drehen soll.

von Marcus (Gast)


Lesenswert?

Schau mal nach GraphicsPath, da kann man den Pfeil einmal erzeugen und 
dann mit Transformationsmatrizen (scale, translate) an seine Bedürfnisse 
anpassen.
Wenn man diesen GraphicsPath ausserhalb des PaintEventHandler erstellt 
kann man Rechenzeit sparen.

Marcus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.