
30.06.2007, 15:58
|
Продвинутый
|
|
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
|
|
Эх вы...
Код:
procedure TForm1.DrawEdje(P1,P2:TPoint; Arrow:boolean; Color:TColor; Canvas:TCanvas);
var
Angle:real;
p3,p4:TPoint;
begin
Canvas.pen.color:=Color;
Canvas.MoveTo(p1.X,p1.Y);
Canvas.LineTo(p2.X,p2.Y);
if Arrow=true then begin
Angle:=180*ArcTan2(p2.y-p1.y,p2.x-p1.x)/pi;
p3:=Point(p2.X+Round(15*cos(pi*(Angle+150)/180)),p2.y+Round(15*sin(pi*(Angle+150)/180)));
p4:=Point(p2.X+Round(15*cos(pi*(Angle-150)/180)),p2.y+Round(15*sin(pi*(Angle-150)/180)));
Canvas.MoveTo(p2.X,p2.Y);
Canvas.LineTo(p3.X,p3.y);
Canvas.MoveTo(p2.X,p2.Y);
Canvas.LineTo(p4.X,p4.y);
end;
end;
|