![]() |
"Runde" Linie auf TCanvas
Hallo,
gibt es einen Befehl auf dem Canvas, der eine abgerundete Linie zeichnet? Also man gibt 3 Punkte an und es wird eine Linie Punkt 1,2 und 3 gezeichnet, die jedoch abgerundet wird (So ähnlich wie bei Paint diese Schlängellinie "Bögen"). Liebe Grüße! |
Re: "Runde" Linie auf TCanvas
Hallo,
Dazu kannst du die Methode Canvas.Arc benutzen ;) Gruß Neutral General |
Re: "Runde" Linie auf TCanvas
Von Haus aus kann Canvas keine Bezier-Splines
|
Re: "Runde" Linie auf TCanvas
Ein Bezier-Spline würde auch nicht durch Punkt 2 gehen, und braucht an sich 4 Punkte ;) (Ich weiss... Klugscheisserei. Aber ist Freitag, da kann ich nicht anders :stupid:)
Edit: Um etwas mehr "Fleisch" zu liefern: Ein "Bogen" ist mit 3 Punkten unterdefiniert. Du musst wenn dann, ein paar mehr Annahmen machen, oder mehr Daten haben. Ein Kreis ist z.B. durch 3 Punkte eindeutig definiert, so dass du diesen Kreis zeichnen könntest, und nur das Segment, dass den mittleren Punkt beinhaltet beibehälst. Alternativ könntest du ein ![]() Die erstmal wichtige Aussage ist: So etwas bringt TCanvas nicht fertig und einfach mit, da wäre Handarbeit angesagt. |
Re: "Runde" Linie auf TCanvas
Zitat:
|
Re: "Runde" Linie auf TCanvas
Liste der Anhänge anzeigen (Anzahl: 1)
[OT]
Hier hat aktuell (14.05.2010, 21:50) jemand 1337 Beiträge verfasst! (fällt mir nur gerade so auf :) ) :dancer2: :dp: :dancer: unten ein kleiner Screenshot =) [/OT] |
Re: "Runde" Linie auf TCanvas
Zitat:
oder was meinst du? |
Re: "Runde" Linie auf TCanvas
Zitat:
![]() |
Re: "Runde" Linie auf TCanvas
Bitte zurück zum Thema. Über die verschiedensten Zahlen und deren Interpretationen könnt ihr aber gern ein neues Thema in Klatsch und Tratsch eröffnen.
|
Re: "Runde" Linie auf TCanvas
Ich habe gestern auch selbst die Funktion PolyBezier gefunden. Danke!
Also 4 Punkte in einem Array:
Delphi-Quellcode:
var Punkte:Array of TPoint;
begin SetLength(Punkte,4); Punkte[0]:=Point(StartX,StartY); Punkte[3]:=Point(EndeX,EndeY); //Punkte[1] und [2] sind dann die Punkte, zu denen abgelenkt wird Image1.canvas.polybezier(Punkte); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 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 by Thomas Breitkreuz