![]() |
Brauche Hilfe bei einer Übung
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo lieber Programmierer,
hab da ein kleines Problem bei einem Programm bin gerade dabei ein Koordinatensystem zu zeichnen und es auf eins drauf zu legen was auf einer Imagedatei bereits gezeichnet ist. Soweit so gut hab die Koordinatenlinien hinbekommen und bin gerade bei den Skallierungsstrichen/Gitterstrichen die für die X-Achse habe ich bereits hinbekommen und habe gerade Probleme bei der Y-Achse schauts euch mal an und wer nett wen der ein oder andere einen Tipp hätte am besten Quellcode :D
Delphi-Quellcode:
Das sieht so aus:
procedure TForm2.Image1Click(Sender: TObject);
var ax,ay :INTEGER; begin image1.Canvas.Pen.Width:=3; with image1.canvas do begin //Koordinaten-Linien moveto(79,0); lineto(79,321); moveto(79,321); lineto(600,321); //Striche x-Achse for ax:=1 to 9 do begin moveto(Round(92+(ax-1)*61.7),0); lineto(Round(92+(ax-1)*61.7),321); end; //Striche y-Achse for ay:=1 to 9 do begin moveto(Round(80+(ay-1)*33),89); lineto(Round(321+(ay-1)*33),89); end; ![]() wie ihr auf dem Foto sehen könnt wiederholt sich das nicht Wieso??? Dankee |
AW: Brauche Hilfe bei einer Übung
Schau dir mal die
![]() ![]() Du musst natürlich auch entsprechend für die Y-Achse die Koordinaten von Y verändern und nicht von X.
Delphi-Quellcode:
Ob die Werte jetzt so stimmen weiß ich natürlich nicht. Aber der zweite Parameter der Funktion muss jeweils geändert werden bei Y und nicht der erste.
for ay:=1 to 9 do begin
moveto(89, Round(80+(ay-1)*33)); lineto(89, Round(321+(ay-1)*33)); end; |
AW: Brauche Hilfe bei einer Übung
auf deine Art und Weise werden die Striche jetzt leider wieder Senkrecht und nicht Waagerecht wie ich es haben will...
|
AW: Brauche Hilfe bei einer Übung
Delphi-Quellcode:
Fällt dir was auf?
MoveTo(Round(92 + (ax-1)*61.7), 0);
LineTo(Round(92 + (ax-1)*61.7), 321); //MoveTo(Round(80 + (ay-1)*33), 89); //LineTo(Round(321 + (ay-1)*33), 89); MoveTo(89, Round(80 + (ay-1)*33)); LineTo(89, Round(321 + (ay-1)*33)); Vorallem bei der falschen Reihenfolge der X- und Y-Werte, sieht man, daß bei AY etwas nicht stimmt. Damit die Linie "grade" ist, muß hochzählende Position am Anfang und Ende gleich sein und die feste Achse enthält unterschiedliche Werte. |
AW: Brauche Hilfe bei einer Übung
Canvas bei Delphi hat keine richtige Linie. Das sollte aber kein Problem sein, das kann man sich schnell selbst basteln:
Delphi-Quellcode:
Auf der anderen Seite, wenn man mit LineTo umgehen kann, hat das seine Logik:
procedure CanvasLine(Canvas: TCanvas; x1, y1, x2, y2: Integer);
begin Canvas.MoveTo(x1, y1); Canvas.LineTo(x2, y2); end; procedure TForm1.Button1Click(Sender: TObject); begin CanvasLine(Self.Canvas, 100, 100, 100, 500); CanvasLine(Self.Canvas, 100, 500, 500, 500); CanvasLine(Self.Canvas, 500, 500, 500, 100); CanvasLine(Self.Canvas, 500, 100, 100, 100); end;
Delphi-Quellcode:
Wenn es keine einzelne Line sein soll und vorhandene Formen nicht reichen, gibt es auch das Polygon:
procedure TForm1.Button2Click(Sender: TObject);
begin with Canvas do begin MoveTo(110, 110); LineTo(110, 510); LineTo(510, 510); LineTo(510, 110); LineTo(110, 110); end; end;
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var PunktListe: array[0..4] of TPoint; begin PunktListe[0] := Point(120, 120); PunktListe[1] := Point(120, 520); PunktListe[2] := Point(520, 520); PunktListe[3] := Point(520, 120); PunktListe[4] := Point(120, 120); with Canvas do begin Pen.Color := clRed; Brush.Color := clYellow; Brush.Style := bsSolid; Polygon(PunktListe); end; end; |
AW: Brauche Hilfe bei einer Übung
Das problem ist doch nich das sie nicht gerade ist mein Problem ist doch sie sich nicht wiederholt?^^
Sry stehe gerade auf dem Schlauch :cyclops: villt kannste ja die richtige Schreibweise als Quellcode posten villt hab ich dann nen Gedankenblitz... :idea: |
AW: Brauche Hilfe bei einer Übung
@popov huch was ist das den alles es steht doch schon fast alles fehlt nur noch die Y-Achse
|
AW: Brauche Hilfe bei einer Übung
Zitat:
|
AW: Brauche Hilfe bei einer Übung
Hast du eine Lösung für das Problem?^^
|
AW: Brauche Hilfe bei einer Übung
Komm wir essen Opa (Satzzeichen können Leben retten)
Paar Satzzeichen in den Sätzen wären nicht falsch. Es ist schon etwas respektlos den anderen gegenüber, wenn sie alles erst deuten müssen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 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