![]() |
Abgerundete Ecke zeichnen
Hallo,
ich habe eine Komponente (abgeleitet von TCustomPanel) der ich einen Rahmen gegeben habe. Gezeichnet wird einfach mittels Canvas.LineTo. Jetzt möchte ich gerne abgerundete Ecken haben. Canvas.RoundRect kann ich nicht nehmen weil nicht immer alle Ecken abgerundet sein sollen und weil die Rahmen (links, rechts, ...) ggf. unterschiedliche Farben und Styles (PenStyle) haben. Im Moment zeichne ich einfach einen Kreis und kopiere davon 25 %. Das gefällt mir aber nicht. Außerdem muss eine Ecke ggf. aus 2 Farben bestehen wenn die angrenzenden Rahmen unterschiedliche Farben haben. Hat jemand eine Idee wie ich solch eine Ecke zeichnen kann? Schöne Grüße und schönes Wochenende, Andreas |
AW: Abgerundete Ecke zeichnen
VCL.Graphics.Arc(..) ist wohl das, was du suchst.
Beispiel:
Delphi-Quellcode:
// Horizonale Linie Canvas.Moveto( 50,50 ); Canvas.LineTo( clientwidth, 50 ); // Vertikale Linie Canvas.Moveto( 20, 100 ); Canvas.LineTo( 20, clientheight ); // Und nun das Runde statt das Eckige: // http://www.matheass.de/ITG/delphi/grafik/zeichnen.html // Canvas.Ellipse( 20,50, 80,150 ); mit Arc zeichnest du einen Teil dieser Ellipse: Canvas.Arc( 20,50, 80,150, 50,50, 20, 100 ); |
AW: Abgerundete Ecke zeichnen
Hi @Michael, Gibt es eine andere Möglichkeit zum Erstellen von Kreisen außer Graphics.Arc (..)?
|
AW: Abgerundete Ecke zeichnen
Canvas.Ellipse zum Zeichnen von Ellipsen (und dementsprechend auch Kreisen)
|
AW: Abgerundete Ecke zeichnen
Du warst schneller.
Delphi-Quellcode:
image1.Canvas.Ellipse( X-(Width div 2), Y-(Height div 2),X+(Width div 2), Y + (Height div 2))
X, Y als Mittelpunkt. Und die Weite und Höhe für den Kreis\Ellipse. gruss |
AW: Abgerundete Ecke zeichnen
Hallo,
Wie macht man eine Ecke aus einer Farbe? Danke |
AW: Abgerundete Ecke zeichnen
Garnicht?
* entweder man zeichnet die Ecke garnicht erst (was wohl Andreas gemacht hat) * oder man verwendet ein Clipping, also definiert den Rand de Zeichenfläche und lässt sie abschneiden * oder man verwendet das Gezeichnete (die Ecka malen, das Andere) als "TranzparenzFarbe", für andere Zeichenoperationen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 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