AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

"Runde" Linie auf TCanvas

Ein Thema von Delphi-Narr · begonnen am 14. Mai 2010 · letzter Beitrag vom 15. Mai 2010
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

"Runde" Linie auf TCanvas

  Alt 14. Mai 2010, 14:35
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!
  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
 
#2

Re: "Runde" Linie auf TCanvas

  Alt 14. Mai 2010, 14:36
Hallo,

Dazu kannst du die Methode Canvas.Arc benutzen

Gruß
Neutral General
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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: "Runde" Linie auf TCanvas

  Alt 14. Mai 2010, 14:36
Von Haus aus kann Canvas keine Bezier-Splines
Markus Kinzler
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: "Runde" Linie auf TCanvas

  Alt 14. Mai 2010, 14:43
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 )


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 Bei Google suchenCardinal Spline nehmen, musst dann aber für die Endpunkte eine Strategie haben, da diese an sich nicht erreicht werden (Verdopplung der Punkte, Extrapolation weiterer Punkte). Dann gäbe es noch B-Splines, wo man aber ein Fitting-Prozess anwenden muss, um interne Punkte wirklich zu berühren.

Die erstmal wichtige Aussage ist: So etwas bringt TCanvas nicht fertig und einfach mit, da wäre Handarbeit angesagt.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: "Runde" Linie auf TCanvas

  Alt 14. Mai 2010, 21:01
Zitat von mkinzler:
Von Haus aus kann Canvas keine Bezier-Splines
Canvas.PolyBezier() ?
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Noedel
(Gast)

n/a Beiträge
 
#6

Re: "Runde" Linie auf TCanvas

  Alt 14. Mai 2010, 21:55
[OT]

Hier hat aktuell (14.05.2010, 21:50) jemand 1337 Beiträge verfasst! (fällt mir nur gerade so auf )
unten ein kleiner Screenshot =)

[/OT]
Miniaturansicht angehängter Grafiken
1337_207.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#7

Re: "Runde" Linie auf TCanvas

  Alt 14. Mai 2010, 22:06
Zitat von Noedel:
[OT]

Hier hat aktuell (14.05.2010, 21:50) jemand 1337 Beiträge verfasst! (fällt mir nur gerade so auf )
unten ein kleiner Screenshot =)

[/OT]
Die Beiträge werden seit Beitritt zur DP gezählt,
oder was meinst du?
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  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
 
#8

Re: "Runde" Linie auf TCanvas

  Alt 15. Mai 2010, 01:33
Zitat von Wolfgang Mix:
Zitat von Noedel:
[OT]

Hier hat aktuell (14.05.2010, 21:50) jemand 1337 Beiträge verfasst! (fällt mir nur gerade so auf )
unten ein kleiner Screenshot =)

[/OT]
Die Beiträge werden seit Beitritt zur DP gezählt,
oder was meinst du?
1337
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
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: "Runde" Linie auf TCanvas

  Alt 15. Mai 2010, 01:38
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#10

Re: "Runde" Linie auf TCanvas

  Alt 15. Mai 2010, 10:22
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;
  Mit Zitat antworten Zitat
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 20:21 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