Comment faire: Dessiner une ligne avec une flèche?
J'ai le code suivant, qui trace une ligne avec une (très) petite flèche...
private void Form1_Paint(object sender, PaintEventArgs e)
{
Pen p = new Pen(Color.Black);
p.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
e.Graphics.DrawLine(p, 10, 10, 100, 100);
p.Dispose();
}
Je veux dessiner un grand flèche (cercle, carré, triangle etc...), gardant la même largeur de ligne.
Est-il possible?
OriginalL'auteur serhio | 2010-08-02
Vous devez vous connecter pour publier un commentaire.
Vous voulez utiliser un
CustomLineCap
avec unGraphicsPath
. Voici un exemple:Vous voulez "design" de votre chapeau avec une ligne qui va de haut en bas et de (0, 0) pour obtenir les coordonnées correctes.
MODIFIER: je voulais juste mentionner que vous pouvez également utiliser
AdjustableArrowCap
à tirer une flèche dans une taille spécifique et de le remplir, mais parce que vous avez mentionné l'exigence pour les autres formes, j'ai utilisé un CustomLineCap.AdjustableCircleCap
ouAdjustableSquareCap
...Que voulez-vous dire qu'il ne changera pas avec la largeur de la ligne? Si vous modifiez la largeur de la plume, il va dessiner une ligne plus épaisse. Pourriez-vous expliquer plus en détail ce que tu veux dire? Vous pouvez également rouler votre
AdjustableCircleCap
, il n'est pas difficile quand vous savez comment utiliser leGraphicsPath
correctement. Si vous n'êtes pas sûr, je peux en écrire un pour vous.+1 pour
AdjustableArrowCap
docs.microsoft.com/en-us/dotnet/framework/winforms/advanced/...
OriginalL'auteur TheCloudlessSky