Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi *Neue probleme mit canvas: y-achse, (https://www.delphipraxis.net/92894-%2Aneue-probleme-mit-canvas-y-achse.html)

Lupusmagnus 28. Mai 2007 14:05


*Neue probleme mit canvas: y-achse,
 
Hi,ich komme bei dem versuch eine y-achse zeichnen einfach nicht mehr weiter.

Code:
// y-achse
xmin:=(Image1.Width div 2) ;
ymin:=(Image1.Height-20) ;
xmax:=(Image1.Width div 2) ;
ymax:=(Image1.Height+20)     ;
 with Image1.Canvas do
   begin
   Pen.color:=clred ;
   moveto(xmin,ymin) ;
   lineto(xmax,ymax) ;
  end;
das ist mein ansatz,und ich möchte, dass die y-achse kurz vor dem ende des fensters wieder aufhört damit ich einen pfeil darauf zeichnen kann.
ps: ich weiss,ist bestimmt eine sehr einfache lösung, aber ich mir fällt nichts mehr ein :(

SirThornberry 28. Mai 2007 14:13

Re: probleme mit canvas: y-achse,
 
dein ymax ist außerhalb des sichtberen bereiches. Nur du kannst wissen von wo bis wo du deine Linie haben willst.

Lupusmagnus 28. Mai 2007 14:15

Re: probleme mit canvas: y-achse,
 
ja,ich weiss, ich möchte,dass die y-achse ca. 10-15 pixel von den bildrändern entfernt ist.

SirThornberry 28. Mai 2007 14:19

Re: probleme mit canvas: y-achse,
 
bei 10 pixeln würde sie bei 10 starten und bei höhe - 10 aufhören.

Lupusmagnus 28. Mai 2007 14:25

Re: probleme mit canvas: y-achse,
 
ja,hätte ich es ja gerne,aber wenn die -20 bzw. 20 in -10 bzw. 10 umändere,zeichnet mir delphi nur einen kleineren strich am unteren bildschirmrand!oder habe ich da jetzt was falsch verstanden?

Apollonius 28. Mai 2007 14:28

Re: probleme mit canvas: y-achse,
 
Du musst von 10 bis height-10 zeichnen. Wenn du -10 bis 10 zeichnest, ist der Bereich zwischen -1 und 0 komplett unsichtbar. Also ymin:=10; ymax:=image1.height-10;
Hoffe geholfen zu haben
Apollonius

SirThornberry 28. Mai 2007 14:29

Re: probleme mit canvas: y-achse,
 
lies dir bitte nochmal genau durch was ich geschrieben hab. aktuell steht bei dir:
Delphi-Quellcode:
ymin:=(Image1.Height-20);
ymax:=(Image1.Height+20);
Wenn dein Bild also 100 hoch ist geht deine Linie von 80 bis 120. Du siehst also nur 20 Pixel
Aber du willst ja das deine Linie von 20 bis 80 geht.

Lupusmagnus 28. Mai 2007 14:36

Re: probleme mit canvas: y-achse,
 
AH,endlich, vielen dank ihr beiden!

Lupusmagnus 28. Mai 2007 15:32

probleme mit canvas: y-achse,skalierung
 
sry für den doppelpost,aber mir ergibt sich leider wieder ein weiteres problem,ich möchte die x-achse gerne mit strichen einteilen,und bei jedem 5. strich eine zahl haben,also 5,10,15 usw.
bis jetzt gelang es mir das der 5. strich größer als die anderen ist und ich darunter etwas schreiben kann,allerdings verstehe ich nicht wie ich es anstellen soll,das die zahl immer um 5 erhöht wird,hier erst einmal mein ansatz:

Delphi-Quellcode:
//Beschriftung
for h:=1 to Width-15 do ;
xt:=26 ;
xab:=f div (xt+1) ;
for i:=1 to xt do
 begin
  if i mod 5=0 then
begin
  Font.color:=clblack ;
  Font.size:=10 ;
  Image1.Canvas.Textout(x0+i*xab,y0+L+10,'5') ;
end ;
end;
ein weiteres problem hab ich generell mit der skalierung der y-achse,hier war mein ansatz
Delphi-Quellcode:
//Skala y-achse
 q:=0 ;
for i:=y0 to ymax do
 begin
  q:=q+50 ;
  Image1.Canvas.MoveTo(x0+q,y0-10) ;
  Image1.Canvas.LineTo(x0+q,y0+10) ;
 end;

b:=0 ;
for i:=y0 to ymax   do
 begin
  b:=b+10 ;
  Image1.Canvas.MoveTo(y0+b,x0-5) ;
  Image1.Canvas.LineTo(y0+b,x0+5) ;
 end;
vllt. hat wieder jemand lösungs vorschläge,wäre dankbar!

Dipl Phys Ernst Winter 17. Mai 2009 17:46

Re: *Neue probleme mit canvas: y-achse,
 
Ich habe heute einen Beitrag über eine sich dem Bereich anpassende Skala in die Code-Library eingebracht


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 Uhr.
Seite 1 von 2  1 2      

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