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?