Hi there,
I have drawn an arrow from a start point A(x0,y0 let's say 0,0) to an end point B(x1,y1). The shape of the arrow shows that direction from A to B (A->B). The code I used is this:
var Arrow1: TFieldSeries;
.....
begin
Line1 := TLineSeries.Create(self);
Chart1.AddSeries(Line1);
Arrow1 := TFieldSeries.Create(self);
Chart1.AddSeries(Arrow1);
for i := Low(Array1) to High(Array1) do
Line1.AddXY(Array1[i].y, Array2[i].y); // Array1 and Array2 have the same Length
Arrow1.AddVector(Array1[High(Array1)].y/2, Array2[High(Array2)].y/2, Array1[High(Array1)].y, Array2[High(Array2)].y, '', $0000FF);
Arrow1.Pen.Width:=3;
Arrow1.Arrow.BaseLength := ArrowPView1.Arrow.Length;
end;
As I want the arrow to start from (0,0) and end to the my last point I use the
Arrow1.AddVector(Array1[High(Array1)].y/2, Array2[High(Array2)].y/2, Array1[High(Array1)].y, Array2[High(Array2)].y, '', $0000FF);
When I draw the chart everything seems ok. But when I print the chart the arrow get too much bigger.
I believe that the problem must be the GraphToImage(DoublePoint(x1, y1)).
I also need to draw that arrow above all lines in the TAChart (so its Zposition must be the bigger).