AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Abgerundete Ecke zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

Abgerundete Ecke zeichnen

Ein Thema von Andreas L. · begonnen am 23. Mär 2019 · letzter Beitrag vom 19. Feb 2021
Antwort Antwort
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#1

Abgerundete Ecke zeichnen

  Alt 23. Mär 2019, 11:47
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
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
763 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Abgerundete Ecke zeichnen

  Alt 23. Mär 2019, 13:14
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 );
Michael Gasser
  Mit Zitat antworten Zitat
moanersykes

Registriert seit: 3. Apr 2019
1 Beiträge
 
#3

AW: Abgerundete Ecke zeichnen

  Alt 3. Apr 2019, 11:30
Hi @Michael, Gibt es eine andere Möglichkeit zum Erstellen von Kreisen außer Graphics.Arc (..)?
run 3 en linea
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Abgerundete Ecke zeichnen

  Alt 3. Apr 2019, 11:42
Canvas.Ellipse zum Zeichnen von Ellipsen (und dementsprechend auch Kreisen)
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Abgerundete Ecke zeichnen

  Alt 3. Apr 2019, 11:46
Du warst schneller.
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

Geändert von EWeiss ( 3. Apr 2019 um 11:49 Uhr)
  Mit Zitat antworten Zitat
Keinyth

Registriert seit: 19. Feb 2021
1 Beiträge
 
#6

AW: Abgerundete Ecke zeichnen

  Alt 19. Feb 2021, 10:46
Hallo,

Wie macht man eine Ecke aus einer Farbe?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Abgerundete Ecke zeichnen

  Alt 19. Feb 2021, 13:19
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
$2B or not $2B
  Mit Zitat antworten Zitat
Alt 28. Apr 2021, 05:44     Erstellt von alucca
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz