Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Canvas RoundRect aber wie

  Alt 16. Jun 2021, 12:43
Falls jemand die Hilfe immer noch nicht gefunden hat: http://docwiki.embarcadero.com/Libra...nvas.RoundRect

Benötigt werden nur 2 Punkte zum Zeichnen eines Rechtecks.
Delphi-Quellcode:
 PTL := ARect.TopLeft; // links oben
 PBR := ARect.BottomRight; // rechts unten
Für ein Rechteck mit runde Ecken muss man zusätzlich noch den Breite und Höhe der Rundungen festlegen.
Delphi-Quellcode:
  Rx := 10; // Radius einer runden Ecke horizontal
  Ry := 5; // Radius einer rundne Ecke vertical
Damit die unteren Ecken nicht sichtbar sind, vergrössert man das Rechteck um den Radius der unteren runden Ecken.
Damit ragt das Rechteck aus dem Zeichenbereich hinaus.
Delphi-Quellcode:
  {Rahmen}
  Canvas.Pen
  {Inhalt}
  Canvas.Brush
  {Zeichnen}
  Canvas.RoundRect(PTL.X, PTL.y, PBR.x, PBR.y + Ry, Rx * 2, Ry * 2);
Leider werden runde Excken, Kreisbögen oder schräge Linien nur unbefriedigend dargestellt.
Für bessere Qualität müssten die Zeichenwerkzeuge Pixel z.T. halbtransparent zeichnen.
  Mit Zitat antworten Zitat