Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Paintbox und darüber ein Image (Koordinatensystem) (https://www.delphipraxis.net/105920-paintbox-und-darueber-ein-image-koordinatensystem.html)

andiak 2. Jan 2008 10:17


Paintbox und darüber ein Image (Koordinatensystem)
 
Ich habe eine Paintbox erstellt und über der Paintbox soll nun ein Bild drauf und später soll auf dem Bild Parabeln gezeichnet werden.
Meine frage wie füge ich das Bild über der PaintBox ein ?

fLaSh11 2. Jan 2008 10:29

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Verstehe ich das richtig?
Du zeichnest ein paar Parabeln in ner Paintbox und wisst ein Koordiantensystem als Image drüberhauen?

:arrow: selber zeichenen in die PaintBox!

andiak 2. Jan 2008 10:31

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Wie zeichne ich das selber?

Luckie 2. Jan 2008 10:37

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Zeichne das Koordinatensystem doch auch gleich auf der Paintbox.

DeddyH 2. Jan 2008 10:38

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Mit Canvas.Moveto und Canvas.LineTo, oder was meinst Du jetzt?

andiak 2. Jan 2008 10:42

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich meine ich brauche in etwa sowas
http://fabianrehbein.fa.ohost.de/1.png

und mit Canvas.Moveto und Canvas.LineTo erstelle ich so etwas? wenn ja in welcher procedure muss ich das einfügen?


Damit ihr euch richtig vorstellen könnt was ich meine

fLaSh11 2. Jan 2008 10:45

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Also ich hab das ganze auch mal gemacht. Ich hab zwar ein TImage zum zeichnen genommen, aber du könntest einfach die Image1 durch PaintBox ersetzten.

Code ist eig. selbstklärend. Ich habe ihn sogar so konstruiert, dass er sich jeder Größe anpasst.

Delphi-Quellcode:
procedure TForm1.DrawCoords;
var
  i,h: Integer;
begin
  with Image1.Canvas do
    begin
    Pen.Color:=clBlack;
    //Ordinate & Abszisse
    MoveTo(0, Image1.Height div 2);
    LineTo(Image1.Width, Image1.Height div 2);
    MoveTo(Image1.Width div 2, 0);
    LineTo(Image1.Width div 2, Image1.Height);
    //Skalierung
    for i := 1 to 10 do
      begin
      h := i * (Image1.Width div 10);
      MoveTo(h, (Image1.Height div 2) - 5);
      LineTo(h, (Image1.Height div 2) + 5);
      MoveTo((Image1.Width div 2) - 5, h);
      LineTo((Image1.Width div 2) + 5, h);
      end;
    //Beschriftung
    TextOut((Image1.Width div 2) + 3,(Image1.Height div 2) + 1, '0');
    TextOut((Image1.Width div 2) + 48, (Image1.Height div 2) + 6,'1');
    TextOut((Image1.Width div 2) + 6,(Image1.Height div 2) - 56,'1');
    //Preifspitzen
    MoveTo(Image1.Width - 5, (Image1.Height div 2) - 5);
    LineTo(Image1.Width, (Image1.Height div 2));
    LineTo(Image1.Width - 5, (Image1.Height div 2) + 5);
    MoveTo((Image1.Width div 2) - 5, 5);
    LineTo((Image1.Width div 2), 0);
    LineTo((Image1.Width div 2) + 5, 5);
    end;
end;
//Edit: Allerdings sollte der Zeichengrund rechteckig sein, sonst musst du die for-Schleife überarbeiten. Und wenn man das Koordinatensystem verändern können soll, ist der Code hier auch schlecht. Also alles in allem ein Beispiel wie's gehen kann

andiak 2. Jan 2008 10:53

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Hey dude danke für den code mit hilfe dessen habe ich es jetzt geschaft das koordinaten kreuz in meiner paintbox anzeigen zu lassen danke danke danke

fLaSh11 2. Jan 2008 11:00

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Zitat:

Zitat von andiak
Hey dude

erinnert mich irgendwie an "Findet Nemo" :mrgreen:

Nuclear-Ping 2. Jan 2008 12:50

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Mich an "The Big Lebowski" ... "Der Duuuude ..." :mrgreen:

andiak 3. Jan 2008 14:41

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
ich benütze zum zeichnen des koordinatenkreuzes den quellcode von fLaSh11
nun habe ich for i := 1 to 10 do
in for i := 1 to 20 do
Weil zehn punkte pro ordinate und abzisse fand ich eigentlich etwas wenig hoffe ich habe es am richtigen teil des codes geändert.

Nun wollte ich fragen ob ich mit z.b. Button1.Onclick z.b. "wegzoomen" kann und z.b. for i := 1 to 30 do stellen kann oder aber auch mit drannzoomen auf for i := 1 to 5 do oder so ist das möglich?

fLaSh11 3. Jan 2008 14:44

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Ja es ist so möglich, allerdings musst du dann ja auch deine Punkte neu berechnen!

iGoA 3. Jan 2008 16:46

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
Wenn Du die Anzahl Punkte verändern willst, musst Du auch den Wert in der Zeile
Delphi-Quellcode:
      h := i * (Image1.Width div 10);
ändern.

Also
Delphi-Quellcode:
    for i := 1 to AnzahlPunkte do
      begin
      h := i * (Image1.Width div AnzahlPunkte);
      ...
    ...

andiak 3. Jan 2008 16:49

Re: Paintbox und darüber ein Image (Koordinatensystem)
 
hmm stimmt hatte ich sogar gemacht nur beim schreiben der nachricht nicht dran gedacht ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:30 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