Ich schätz mal das der Code hier
Delphi-Quellcode:
procedure DrawLine(aCanvas: TCanvas ; x1,y1,x2,y2: Integer ; color: TColor);
var
crntColor: TColor;
begin
crntColor := aCanvas.Pen.Color;
aCanvas.Pen.Color := color;
aCanvas.MoveTo(x1,y1);
aCanvas.LineTo(x2,y2);
aCanvas.Pen.Color := crntColor;
end;
das gleiche macht wie deiner...
wegen den negativen zahlen: Im Form links oben ist (0|0) weiter nach links gehts in dem fall nicht. Du müsstest da dann ein Offset einbauen das bspw. gezeichnet 50 gerechnet 0 ist.