Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Punkte verbinden zu einem Polygon

  Alt 19. Apr 2007, 12:30
Erst mal auf TPoint und ein dynamisches Array umstellen. Zweitens gibt es eine Polygon-Methode von TCanvas. Drittens willst du wahrscheinlich eine Polyline malen (ebenfalls eine Methode von TCanvas). Der Unterschied ist das ein Polygon eine Flaeche ist und daher innen und aussen besitzt (entsprechend wird auch beim Malen der Innenbereich gefuellt). Eine Polyline ist nur ein Linienzug. Ein Polygon wird auch geschlossen, indem vom letzten zum ersten Punkt eine Verbindung impliziert wird.
Delphi-Quellcode:
implementation

{$R *.dfm}
var
  N: integer;
  Points: array of TPoint;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if button = mbleft then
    image1.Canvas.Rectangle(x-7,y-7,x+7,y+7);
   n := n+1;
   SetLength(Points, n);
   Points[n-1].X := X;
   Points[n-1].Y := Y;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  image1.Canvas.Polygon(Points);
end;

end.
  Mit Zitat antworten Zitat