2008-09-15 7 views
0

Existe-t-il un moyen de tracer une ligne le long d'une trajectoire courbe avec un gradient qui varie dans une direction perpendiculaire à la direction de la ligne? J'utilise le framework GDI + pour mes graphiques.polyligne avec dégradé

Répondre

1

La réponse simple est non. Vous pouvez créer un GraphicsPath afin de décrire ce que vous voulez dessiner, en utilisant AddPoint/AddLine/AddBezier et ainsi de suite comme nécessaire pour décrire le chemin complexe de ce que vous voulez dessiner. Lorsque vous dessinez le chemin, vous pouvez fournir un pinceau qui peut être quelque chose comme LinearGradientBrush ou RadialGradientBrush. Aucun de ces pinceaux de dégradé ne réagit au tracé réel dessiné dans le sens d'un changement de direction lorsque le dessin se produit. Vous devez spécifier les angles etc comme constante pour toute la zone de gradient.

0

L'une des méthodes que vous pouvez utiliser consiste à définir la région du plan de l'objet Graphics comme étant celle de la ligne uniquement. Dessinez ensuite un dégradé linéaire sur les extrémités de la ligne, par ex.

GraphicsPath gp = new GraphicsPath(); 

gp.AddArc(); // etc... 

graphics.SetClip(gp); 

graphics.FillRectangle(myLinearGradientBrush, gp.GetBounds()); 

Le code ci-dessus peut vous donner ce que vous cherchez.

Questions connexes