AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi *Neue probleme mit canvas: y-achse,
Thema durchsuchen
Ansicht
Themen-Optionen

*Neue probleme mit canvas: y-achse,

Ein Thema von Lupusmagnus · begonnen am 28. Mai 2007 · letzter Beitrag vom 19. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2      
Lupusmagnus

Registriert seit: 28. Mai 2007
5 Beiträge
 
#1

*Neue probleme mit canvas: y-achse,

  Alt 28. Mai 2007, 14:05
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
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: probleme mit canvas: y-achse,

  Alt 28. Mai 2007, 14:13
dein ymax ist außerhalb des sichtberen bereiches. Nur du kannst wissen von wo bis wo du deine Linie haben willst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Lupusmagnus

Registriert seit: 28. Mai 2007
5 Beiträge
 
#3

Re: probleme mit canvas: y-achse,

  Alt 28. Mai 2007, 14:15
ja,ich weiss, ich möchte,dass die y-achse ca. 10-15 pixel von den bildrändern entfernt ist.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: probleme mit canvas: y-achse,

  Alt 28. Mai 2007, 14:19
bei 10 pixeln würde sie bei 10 starten und bei höhe - 10 aufhören.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Lupusmagnus

Registriert seit: 28. Mai 2007
5 Beiträge
 
#5

Re: probleme mit canvas: y-achse,

  Alt 28. Mai 2007, 14:25
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?
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: probleme mit canvas: y-achse,

  Alt 28. Mai 2007, 14:28
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
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: probleme mit canvas: y-achse,

  Alt 28. Mai 2007, 14:29
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Lupusmagnus

Registriert seit: 28. Mai 2007
5 Beiträge
 
#8

Re: probleme mit canvas: y-achse,

  Alt 28. Mai 2007, 14:36
AH,endlich, vielen dank ihr beiden!
  Mit Zitat antworten Zitat
Lupusmagnus

Registriert seit: 28. Mai 2007
5 Beiträge
 
#9

probleme mit canvas: y-achse,skalierung

  Alt 28. Mai 2007, 15:32
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!
  Mit Zitat antworten Zitat
Dipl Phys Ernst Winter

Registriert seit: 14. Apr 2009
Ort: Jena
103 Beiträge
 
Delphi 3 Professional
 
#10

Re: *Neue probleme mit canvas: y-achse,

  Alt 17. Mai 2009, 17:46
Ich habe heute einen Beitrag über eine sich dem Bereich anpassende Skala in die Code-Library eingebracht
Autor: DP Ernst Winter
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:10 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