Je viens de penser à un truc, la fonction DrawSelBorder permet de dessiner un contour mais elle met à jour le undo. Donc en théorie, si tu trace un contour d'epaisseur double de ta dilatation ça devarit marcher. faut que tu restaure la zone quand même après le tracé de contours pour l'effacer. En pratique, je sais pas ce que ça donne...
Merci pour l'astuce ca fonctionne pour le Undo par contre pour information cela donne une image grise... Pas grave dans mon cas vu que je Restore l'image imédiatement après comme tu l'as suggéré...
Je viens de mettre à jour le plugin... Il est normalement plus rapide car j'ai optimisé la dilatation... (La zone de convolution est un cercle au lieu d'un disque)
j'ai corrigé le bug dans la fonction DrawSelBorder, j'avais inversé 2 variables. Vaut mieux corriger pour la prochaine mise à jour.
Pourquoi le double de la dilation : parce que le tracé est centré sur la sélection
si tu trace un contour d'épaisseur 20 pixels, la zone undo est dilatée de 11 (20 div 2 + 1 pour le lissage) car l'autre moitier du tracé est à l'intérieur de la sélection
bas c'est dynamique donc faut que tu le refasse à chauqe fois (c'est pas grave vu que c'est un reallocmem) Par contre vaut mieux annuler avec une épaisseur de 1 car avec 0 je quitte sans rien faire...