Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - [Delphi]-> Frage bezüglich der Funktion "Polygon" (>Dreieck)


floppi-wd - Di 05.12.06 18:24
Titel: [Delphi]-> Frage bezüglich der Funktion "Polygon" (>Dreieck)
hey leutz,
also ich habe vor dreiecke zu konstruieren. Dafür benutze ich ja die Funktion Polygon. Nur welche Bedeutung haben die Koordinaten genau. Hab sie nämlich net vertsanden, welche Koordinate für was steht.


Delphi-Quelltext
1:
2:
3:
Polygon([Point(0100),
               Point(500),
               Point(100100)]);


wäre cool wenn jmd. mir das erklären könnte. danke


Reinhard Kern - Di 05.12.06 18:37
Titel: Re: [Delphi]-> Frage bezüglich der Funktion "Polygon" (>Dreieck)
user profile iconfloppi-wd hat folgendes geschrieben:
hey leutz,
also ich habe vor dreiecke zu konstruieren. Dafür benutze ich ja die Funktion Polygon. Nur welche Bedeutung haben die Koordinaten genau. Hab sie nämlich net vertsanden, welche Koordinate für was steht.


Delphi-Quelltext
1:
2:
3:
Polygon([Point(0100),
               Point(500),
               Point(100100)]);


wäre cool wenn jmd. mir das erklären könnte. danke


Hallo,

Polygon zieht einfach Striche von Punkt 1 nach Punkt 2, von dort nach Punkt3...

Wenn du ein Dreieck willst, brauchst du 4 davon, und der 4. Punkt muss gleich dem ersten sein.

Gruss Reinhard


Lannes - Di 05.12.06 23:09
Titel: Re: [Delphi]-> Frage bezüglich der Funktion "Polygon" (>Dreieck)
Hallo,
user profile iconReinhard Kern hat folgendes geschrieben:
...Wenn du ein Dreieck willst, brauchst du 4 davon, und der 4. Punkt muss gleich dem ersten sein....
Es reichen drei Punkte, denn der letzte angegebene Punkt wird automatisch mit dem ersten verbunden. :wink:

Die Punkte werden in der Reihenfolge -wie angegeben- durch Linien verbunden.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
  Canvas.Brush.Style := bsClear;
  Canvas.Pen.Color := clYellow;
  Canvas.Polygon([Point(0100),
               Point(500),
               Point(100100)]);
  Canvas.Pen.Color := clBlue;
  Canvas.Pen.Style := psDot;
  Canvas.MoveTo(100,100);
  Canvas.LineTo(0,100);
  Canvas.TextOut(0,100,'1');
  Canvas.TextOut(50,0,'2');
  Canvas.TextOut(100,100,'3');