![]() |
Bezier-Kurven-Polygon ausfüllen
Schönen guten Morgen,
ich habe ein kleines Problem: TCanvas hat ja die Prozedur "Polygon". Diese zeichnet einen Polygon und füllt diesen mit der Brush.Color Farbe aus. Gibt es so etwas auch für Bezier-Kurvern? Canvas hält dafür ja nur "PolyBezier" bereit. Da werden aber nur linien, und nichts ausgefülltes gezeichnet. Kann ich mir von der Windows API irgendwie die Region in der das ganze gezeichnet wird geben lassen, und diese dann ausfüllen? FloodFill hilft mir in meinem fall auch nicht weiter, da Objekte unter dem Polygon liegen können. Habe ich eine andere möglichkeit außer eine andere Bezier-Kurven Funktion zu verwenden. Schon mal danke, Igel457 |
Re: Bezier-Kurven-Polygon ausfüllen
Du kannst einen Pfad benutzen:
Delphi-Quellcode:
BeginPath(Canvas.Handle);
Canvas.PolyBezier(...); EndPath(Canvas.Handle); FillPath(Canvas.Handle); |
Re: Bezier-Kurven-Polygon ausfüllen
Danke für die Antwort. Ich probiere es mal aus.
EDIT: So, funktioniert. Danke für die Hilfe. Mein Code sieht jetzt so aus:
Delphi-Quellcode:
Danke für die Hilfe! :bounce1:
procedure BezierPolygon(Canvas:TCanvas;Points:array of TPoint);
begin BeginPath(Canvas.Handle); Canvas.PolyBezier(points); EndPath(Canvas.Handle); FillPath(Canvas.Handle); end; procedure TForm1.Button1Click(Sender: TObject); var pusat: array of TPoint; i: Integer; begin SetLength(pusat, 4); for i := Low(pusat) to High(pusat) do begin pusat[i].x := Random(Width); pusat[i].y := Random(Height); end; Canvas.Brush.Color := clBlack; BezierPolygon(Canvas,pusat); end; Igel457 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz