1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| protected override void OnPaint(PaintEventArgs e)
{
Rectangle rect1 = new Rectangle(10, 10, 90, 90);
Rectangle rect2 = new Rectangle(110, 10, 90, 90);
Rectangle rect3 = new Rectangle(210, 10, 90, 90);
//Dégradé très simple : horizontal, de rouge à bleu commencant à gauche du rectangle et finissant à droite.
LinearGradientBrush lgb1 = new LinearGradientBrush(rect1, Color.Red, Color.Blue, LinearGradientMode.Horizontal);
/* Les deux points passés en paramètres forment un vecteur indiquant la direction et le sens du dégradé,
* ici notre vecteur est v(50, 10). La longueur du vecteur compte également puisque dès qu'une longueur
* est parcouru, le dégragé recommence. Ici nous obtiendrons donc un dégradé allant légèrement en diagonale
* vers le bas droit de notre rectangle ; le dégradé sera répété plusieurs fois. */
LinearGradientBrush lgb2 = new LinearGradientBrush(new Point(10, 10), new Point(60, 20), Color.Red, Color.Blue);
//Le dernier paramètre est un angle en degrés indiquant l'inclinaison du dégradé par rapport à l'horizontale.
LinearGradientBrush lgb3 = new LinearGradientBrush(rect3, Color.Green, Color.Gold, 45.0f);
Graphics dc = e.Graphics;
dc.FillRectangle(lgb1, rect1);
dc.FillRectangle(lgb2, rect2);
dc.FillRectangle(lgb3, rect3);
} |
Partager