Csharp/CSharp Tutorial/2D/LinearGradientBrush
Brush Example for filling shapes
<source lang="csharp">using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms;
class Form1 : Form { public Form1() { InitializeComponent(); } protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; g.FillRectangle(Brushes.White, ClientRectangle); g.FillRectangle(Brushes.Red, new Rectangle(10, 10, 50, 50)); Brush linearGradientBrush = new LinearGradientBrush( new Rectangle(10, 60, 50, 50), Color.Blue, Color.White, 45); g.FillRectangle(linearGradientBrush, new Rectangle(10, 60, 50, 50)); linearGradientBrush.Dispose(); g.FillEllipse(Brushes.Aquamarine, new Rectangle(60, 20, 50, 30)); g.FillPie(Brushes.Chartreuse, new Rectangle(60, 60, 50, 50), 90, 210); g.FillPolygon(Brushes.BlueViolet, new Point[] { new Point(110, 10), new Point(150, 10), new Point(160, 40), new Point(120, 20), new Point(120, 60), }); } private void InitializeComponent() { } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); } }</source>
LinearGradientBrush and LinearGradientMode
<source lang="csharp">using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class LinearGradientBrushMode : System.Windows.Forms.Form {
private System.ruponentModel.Container components; public LinearGradientBrushMode() { InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); }
private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Paint += new System.Windows.Forms.PaintEventHandler(this.LinearGradientBrushMode_Paint); } [STAThread] static void Main() { Application.Run(new LinearGradientBrushMode()); } private void LinearGradientBrushMode_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; Rectangle r = new Rectangle(10, 10, 100, 100); LinearGradientBrush theBrush = null; int yOffSet = 10; Array obj = Enum.GetValues(typeof(LinearGradientMode)); for(int x = 0; x < obj.Length; x++) { LinearGradientMode temp = (LinearGradientMode)obj.GetValue(x); theBrush = new LinearGradientBrush(r, Color.GreenYellow, Color.Blue, temp); g.DrawString(temp.ToString(), new Font("Times New Roman", 10), new SolidBrush(Color.Black), 0, yOffSet); g. FillRectangle(theBrush, 150, yOffSet, 200, 50); yOffSet += 80; } }
}</source>