Hier ist eine Funktion, um einen Pfeil mit seinem Kopf an einem Punkt p zu zeichnen. Sie würden dies auf den Mittelpunkt Ihrer Linie setzen. dx und dy sind die Linienrichtung, die gegeben ist durch (x1 - x0, y1 - y0). Dies ergibt einen Pfeil, der auf die Zeilenlänge skaliert wird. Normalisieren Sie diese Richtung, wenn der Pfeil immer die gleiche Größe haben soll.
private static void DrawArrow(Graphics g, Pen pen, Point p, float dx, float dy)
{
const double cos = 0.866;
const double sin = 0.500;
PointF end1 = new PointF(
(float)(p.X + (dx * cos + dy * -sin)),
(float)(p.Y + (dx * sin + dy * cos)));
PointF end2 = new PointF(
(float)(p.X + (dx * cos + dy * sin)),
(float)(p.Y + (dx * -sin + dy * cos)));
g.DrawLine(pen, p, end1);
g.DrawLine(pen, p, end2);
}
Ist dies ein Pfeil in der Mitte einer Linie? Oder daraus zu kommen? Oder eine Pfeilspitze, die entlang der Linie verläuft? –
eine, die entlang der Linie verläuft. – nunos