Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.103 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Eine Region erzeugen mit BeginPath ... EndPath

  Alt 28. Jan 2007, 20:19
Hallo Zusammen,

in Zusammenhang mit einem anderen Beitrag, geht es um das erstellen einer Region.
Wie kann ich bitte zwei Bögen und zwei Linien zu einer Region zusammenfassen um danach
die Region mit einer Farbe zu füllen.


Es müßte in etwa so gehen, das funkt jedoch nicht.

Delphi-Quellcode:
  BeginPath(Canvas.Handle);
  Arc(Canvas.Handle, p1.x, p1.y, p2.x, p2.y, e1.x, e1.y, s1.x, s1.y); //Bogen außen
  Arc(Canvas.Handle, p3.x, p3.y, p4.x, p4.y, e2.x, e2.y, s2.x, s2.y); //Bogen innen

  canvas.MoveTo(s1.x,s1.y); canvas.LineTo(s2.x,s2.y); //Verbindungslinie 1 zwischen den Bögen
  canvas.MoveTo(e1.x,e1.y); canvas.LineTo(e2.x,e2.y);//Verbindungslinie 2 zwischen den Bögen

  EndPath(Canvas.Handle);
  FillPath(Canvas.Handle);

  Region := PathToRegion(Canvas.Handle);

  if (Region<>0) then
  begin
    ShowMessage('gültige Region');
    DeleteObject(Region);
  end;{if}

Gruß Kostas
Miniaturansicht angehängter Grafiken
bogen_447.jpg  
  Mit Zitat antworten Zitat