| Autor |
Beitrag |
Boerdi
Hält's aus hier
Beiträge: 13
|
Verfasst: So 28.09.08 21:18
Hallo zusammen,
ich würde gerne meine Linien, die ich mit "moveto" und "lineto" erstelle durchnummerieren lassen. Wie kann ich denn da am besten vorgehen?
MfG
|
|
pennyWISE
      
Beiträge: 49
Win XP
Delphi 2005 PE (getunt), QBasic 4.5
|
Verfasst: So 28.09.08 21:47
Hallo!
sichtbar durchnummerieren auf der Canvas oder im Programm, damit du drauf zugreifen kannst?
_________________ „Philosophie ist der Versuch, eine schwarze Katze in einem dunklen Zimmer zu fangen. Theologie ist der Versuch, eine schwarze Katze in einem dunklen Zimmer zu fangen, jedoch eine Katze, die gar nicht im Zimmer ist - und immer zu rufen: Ich hab' sie!“
|
|
Boerdi 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mo 29.09.08 14:38
Nee es wäre schon schön, wenn ich neben die Strecken die Nummern sehe.
MfG
|
|
Calculon
      
Beiträge: 676
Win XP Professional
Delphi 7 PE, Delphi 3 PRO
|
Verfasst: Mo 29.09.08 15:43
Boerdi hat folgendes geschrieben: | Nee es wäre schon schön, wenn ich neben die Strecken die Nummern sehe.
MfG |
Kennst du die Canvas Methode TextOut?
Gruß
--
_________________ Hallo Mutti
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 29.09.08 15:48
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| var oben, i: integer; begin oben := 10; for i := 1 to 10 do begin Canvas.Textout(5,oben,IntToStr(i)); Canvas.MoveTo(25,oben); Canvas.LineTo(Width,oben); inc(oben,10); end; end; |
Getippt und nicht getestet.
|
|
Boerdi 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mo 29.09.08 18:39
Alles dankeschön, aber was meinst du mit dem oben in den Klammern?
MfG
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 29.09.08 19:20
Das ist die Y-Koordinate, die nach jeder Linie um 10 Pixel erhöht wird.
|
|
Boerdi 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mo 29.09.08 19:36
Ok das funktioniert.  Ich muss gestehen, dass meine Anfrage ein bisschen ungenau war. Ich erstelle in einem Painting Panel Punkte und verbinde diese mit Moveto und Lineto durch Linien. Und genau diese Linien würde ich ganz gerne nummerieren. Das ist dann ja so eine Art Linienbeschriftung. Für meine Punkte habe ich das ganze schon mit den Koordinaten gemacht, aber für die Linien fehlt mir leider die Idee, wie ich es umsetzen könnte,
MfG
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mo 29.09.08 19:40
Heißt das, dass das Problem immernoch besteht?
Da, wo du die Linien zeichenst, mit TextOut eine Zahl daneben malen - wo ist das Problem?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Boerdi 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mo 29.09.08 20:04
Genau das würde ich gerne. Aber die Linien gehen halt alle kreuz und quer durch das Panel. Könnte man die eventuell noch in Kreise packen?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| for i := 0 to High( arPoints ) - 1 do begin for j := i+1 to High( arPoints)+ 0 do begin Canvas.MoveTo(arPoints[i].X, arPoints[i].Y); Canvas.LineTo(arPoints[j].X, arPoints[j].Y); end; end; |
Damit verbinde ich meine Punkte.
MfG Markus
|
|
pennyWISE
      
Beiträge: 49
Win XP
Delphi 2005 PE (getunt), QBasic 4.5
|
Verfasst: Mo 29.09.08 20:51
ach das hab ich doch in nem andern thread shconma gesehn ^^
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| const radius=10; ... for i := 0 to High( arPoints ) - 1 do begin for j := i+1 to High( arPoints)+ 0 do begin Canvas.MoveTo(arPoints[i].X, arPoints[i].Y); Canvas.LineTo(arPoints[j].X, arPoints[j].Y); canvas.brush.color:=clWhite; canvas.ellipse(arPoints[j].X-radius,arPoints[j].Y-radius,arPoints[j].X+radius,arPoints[j].Y+radius); canvas.textout(arPoints[j].X-radius div 2,arPoints[j].Y-radius div 2,IntToStr((i+1)*j)); end; end; |
nich getestet! aber mit der radius konstante könnteste n bissel rumprobieren
€: fehler im Quelltext verändert
_________________ „Philosophie ist der Versuch, eine schwarze Katze in einem dunklen Zimmer zu fangen. Theologie ist der Versuch, eine schwarze Katze in einem dunklen Zimmer zu fangen, jedoch eine Katze, die gar nicht im Zimmer ist - und immer zu rufen: Ich hab' sie!“
|
|