Здравствуйте! Рисую стрелку этим кодом
	Код:
	procedure arrow(nachalo,konec:tpoint);
var
   B, deltaX, deltaY: Extended;
begin
   Image1.Canvas.PenPos := nachalo;// nachalo - координаты начала стрелки
   Image1.Canvas.LineTo(konec.x, konec.y);
   if nachalo.x <> konec.x then //  проверка деление на ноль
   begin
     if (nachalo.X > konec.X) then
       B := DegToRad(135) - ArcTan((nachalo.Y - konec.Y) / (nachalo.X - konec.X))
     else
       B := DegToRad(45) - ArcTan((nachalo.Y - konec.Y) / (nachalo.X - konec.X)); // наконечник стрелки под углом 45
     deltaX := 10 * Cos(B); // длина стрелки
     deltaY := 10 * Sin(B);
     if (nachalo.X > konec.X) then
     begin
       Image1.Canvas.PenPos := Point(konec.X, konec.Y);
       Image1.Canvas.LineTo(konec.X - Trunc(deltaX), konec.Y + Trunc(deltaY));
       Image1.Canvas.PenPos := Point(konec.X, konec.Y);
       Image1.Canvas.LineTo(konec.X + Trunc(deltaY), konec.Y + Trunc(deltaX));
     end
     else
     begin
       Image1.Canvas.moveto(konec.X, konec.Y);
       Image1.Canvas.LineTo(konec.X - Trunc(deltaX), konec.Y + Trunc(deltaY));
       Image1.Canvas.PenPos := Point(konec.X, konec.Y);
       Image1.Canvas.LineTo(konec.X - Trunc(deltaY), konec.Y - Trunc(deltaX));
     end;
   end; 
  все отлично рисуется, но мне требуется чтобы наконечник стрелки был не в коцне линии, а на 20 пикселей раньше. Подправлял и там и сям, не помогло. Подскажите, как это сделать? Что подправить в коде?