![]() |
|
#1
|
|||
|
|||
![]() Кто нить знает как нарисовать стрелку? Есть две пары координат: начало и конец, рисуем стрелку на конце линии.
|
#2
|
|||
|
|||
![]() Эх вы...
Код:
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; |