Je réalise une application qui utile une flêche qui se déplace en fonction de position du curseur de l'utilisateur

Mon problème c'est que j'essaie de l'effacer via
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Canvas.Pen.Mode := pmXor; //On inverse le mode du crayon
OldColor := Canvas.Pen.Color; //On garde en mémoire la couleur
Canvas.Pen.Color := ColorToRgb(Canvas.Pen.Color) xor ColorToRgb(Color);
...
Canvas.Pen.Color := OldColor;
Cela me permet d'effacer correctement ma fleche le problème c'est que le rendu n'est pas terrible puisqu'il créer des cran sur les bord de la tete de la fleche

Y a t'il une autre solution ?