Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

Paintbox malt wo sie will :(

  Alt 13. Mai 2005, 21:35
hi

ich habe eine Paintbox, unmd möchte darin die CPU-Auslastung darstellen.
diese liegt in einem array WerteCPU in form von Prozentwerten (Integer) vor
mein problem ist nun das ich wenn die Paintbox zb 200 Pixel hoch ist, eine 100%-Auslastung bei y=200 anzeigen will...also praktisch ein strecken.

das habe ich versucht wie folgt zu realisieren(aufgerufen durch timer):

Delphi-Quellcode:
//leeren
  Img_CPU.Canvas.Brush.Color:=ClBlack;
  Img_CPU.Canvas.Rectangle(0,0,Img_CPU.Width,Img_CPU.Height);
//malen
  Mult:=Img_CPU.Height/100;
  Img_CPU.Canvas.Pen.Color:=cllime;
  for i:=1 to Img_CPU.Width-1 do
  begin
    Img_CPU.Canvas.MoveTo(i-1,Img_CPU.Height-Round(Mult*WerteCPU[i-1]-1));
    Img_CPU.Canvas.LineTo(i,Img_CPU.Height-Round(Mult*WerteCPU[i]-1));
  end;
wenn ich nun aber das fenster vergrößere (die Paintbox wird mit größer dank Anchors...) dann wandert der graph nach unten und verschwindet schließlich im nicht-sichtbaren bereich.
verkleinere ich das fenster so wandert der graph nach oben und verschwindet im nicht-sichtbaren bereich. zusätzlich bleiben reste der "alten" kurve im bild.
aber in beiden fällen werden die graphen gestreckt/gestaucht.

wo liegt mein (denk-)fehler?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat