J'essaie de comprendre comment arrêter LinearGradientBrush à répéter avec la forme que je dessine. Ainsi, par exemple, j'ai créé un dégradé avec une hauteur égale à 50, mais ensuite je dessine un rectangle avec une hauteur égale à 150. Dans ce cas, le dégradé se répète trois fois. Mais j'aimerais dessiner seulement le premier dégradé et ne rien dessiner pour le reste du rectangle. Semble GradientBrush dans WPF prend en charge SpreadMethod (http://msdn.microsoft.com/en-us/library/system.windows.media.gradientbrush.spreadmethod.aspx) à cet effet, mais existe-t-il quelque chose pour WinForms?Stop LinearGradientBrush répétition
0
A
Répondre
2
Paul, je pense que la manière la plus simple est de créer votre remplissage de la même façon, mais dessinez seulement en utilisant un rect de 50 pixels. Si vous devez remplir les 100 autres pixels avec une couleur spécifique, effectuez d'abord un remplissage plein avec cette couleur.
Vous pouvez également essayer de définir un dégradé dans votre remplissage dégradé (LinearGradientbrush :: SetBlend), mais cela demande beaucoup d'efforts pour obtenir le même résultat.