Hallo eve,
das hatte ich ganz übersehen: Herzlich Willkommen bei der Delphi-PRAXiS!
Ich habe mir Deinen Code noch nicht angesehen (habe hier keinen TotalCommander...), gehe aber davon aus, dass dort irgendwo etwas in der Art
Delphi-Quellcode:
for x:= -10 to 10 do
PlotDot(x, GetValueOf(x));
steht.
Um die gesamte Zeichenfläche Auszunutzen könntest Du etwas in dieser Art:
for xPos:= 0 to Pred(myCanvas.Width) do
verwenden, wobei Du die Koordinaten des Bildschirms entsprechend umrechnen könntest, um "wirkliche" Koordinaten zu erhalten:
x:= (XOffset+XPos)*XFactor;
Das Ergebnis der Berechnung (
GetValueOf(...)) muss anschließend wieder zurückprojiziert werden
yPos:= GetValueOf(x)/YFactor-YOffset;
um den Punkt bei (
xPos,
yPos) zu zeichnen...
Mathematisch: Du benötigst eine lineare Abbildung zur Projektion von Punkten des Anzeigebereichs auf das Ursprungsbild und deren Umkehrfunktion.
Edit: Willkommensgruß