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.