Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
Delphi 10.4 Sydney
|
AW: Bezier-Kurve?
14. Apr 2011, 16:52
Das sollte als Starthilfe genügen, oder?
Nimm eine TForm und klatsch ein TImage drauf. Dann:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
const
SEITENRAND = 10;
var
lap: array[0..3] of TPoint;
begin
Image1.SetBounds(0, 0, 600, 300);
lap[0].X := Image1.Width - SEITENRAND;
lap[0].Y := SEITENRAND;
lap[1].X := Image1.Width div 15;
lap[1].Y := SEITENRAND;
lap[2].X := Image1.Width div 15 * 14;
lap[2].Y := Image1.Height - SEITENRAND;
lap[3].X := SEITENRAND;
lap[3].Y := Image1.Height - SEITENRAND;
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.FillRect(Rect(0, 0, Image1.Width, Image1.Height));
Image1.Canvas.Pen.Color := clBlack;
Image1.Canvas.Pen.Width := 3;
Image1.Canvas.PolyBezier(lap);
Image1.Canvas.Ellipse(lap[0].X-3, lap[0].Y-3, lap[0].X+3, lap[0].Y+3);
Image1.Canvas.Ellipse(lap[1].X-3, lap[1].Y-3, lap[1].X+3, lap[1].Y+3);
Image1.Canvas.Ellipse(lap[2].X-3, lap[2].Y-3, lap[2].X+3, lap[2].Y+3);
Image1.Canvas.Ellipse(lap[3].X-3, lap[3].Y-3, lap[3].X+3, lap[3].Y+3);
Image1.Canvas.TextOut(lap[0].X-20, lap[0].Y+ 3, 'Start');
Image1.Canvas.TextOut(lap[1].X , lap[1].Y+ 3, 'Steuerpunkt 1');
Image1.Canvas.TextOut(lap[2].X-40, lap[2].Y-20, 'Steuerpunkt 2');
Image1.Canvas.TextOut(lap[3].X , lap[3].Y-20, 'Ende');
end;
HTH W.
Geändert von ConnorMcLeod (14. Apr 2011 um 21:01 Uhr)
Grund: Punkte und Beschriftung dazu
|
|
Zitat
|