Die Zeichenfunktionen draw_up() usw. sollten ein
TCanvas-Objekt anstelle eine TImage-Objekts als Übergabeparameter bekommen.
Delphi-Quellcode:
procedure draw_up(canvas:TTCanvas;color:TColor;x:integer);
begin
with canvas do
begin
Pen.Color := color;
Pen.Width := 2;
MoveTo(posx(x),25);
LineTo(posx(x),5);
end;
end;
Das hat ausserdem den Vorteil, dass du gegebenenfalls auch auf eine Paintbox oder ein Bitmap zeichnen kannst.