Mega Code Archive

 
Categories / C# / 2D Graphics
 

Line Gradient

/* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury,     Zach Greenvoss, Shripad Kulkarni, Neil Whitlow Publisher: Peer Information ISBN: 1861007663 */ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Drawing.Drawing2D;  // LinearGradientBrush namespace LinGradient {     /// <summary>     /// Summary description for LinGradient.     /// </summary>     public class LinGradient : System.Windows.Forms.Form     {         /// <summary>         /// Required designer variable.         /// </summary>         private System.ComponentModel.Container components = null;         public LinGradient()         {             //             // Required for Windows Form Designer support             //             InitializeComponent();             this.Text = "LinearGradientMode";             //             // TODO: Add any constructor code after InitializeComponent call             //         }         /// <summary>         /// Clean up any resources being used.         /// </summary>         protected override void Dispose( bool disposing )         {             if( disposing )             {                 if (components != null)                  {                     components.Dispose();                 }             }             base.Dispose( disposing );         }         #region Windows Form Designer generated code         /// <summary>         /// Required method for Designer support - do not modify         /// the contents of this method with the code editor.         /// </summary>         private void InitializeComponent()         {             //              // LinGradient             //              this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);             this.ClientSize = new System.Drawing.Size(256, 205);             this.Name = "LinGradient";             this.Text = "LinGradient";         }         #endregion         /// <summary>         /// The main entry point for the application.         /// </summary>         [STAThread]         static void Main()          {             Application.Run(new LinGradient());         }         protected override void OnPaint(PaintEventArgs e)         {                Graphics g = e.Graphics;             Font f = new Font(new FontFamily("Times New Roman"), 10);             Brush fb = new SolidBrush(Color.Black);             LinearGradientBrush lGB;  // namespace System.Drawing.Drawing2D;             Color cR = Color.Red, cW = Color.White;             int w = 100, h = 70;             // Left upper rectangle:             g.DrawString("Horizontal", f, fb, 10, 5);             Rectangle rec = new Rectangle(10, 20, w, h);             LinearGradientMode lGM = LinearGradientMode.Horizontal;             lGB = new LinearGradientBrush(rec, cR, cW, lGM);             g.FillRectangle(lGB, rec);                       // Right upper rectangle:             g.DrawString("Vertical", f, fb, w + 20, 5);             rec.Offset(w + 10, 0);             lGM = LinearGradientMode.Vertical;             lGB = new LinearGradientBrush(rec, cR, cW, lGM);             g.FillRectangle(lGB, rec);             // Left down rectangle:             g.DrawString("ForwardDiagonal", f, fb, 10, h + 25);             rec.Offset(-w - 10, h + 20);             lGM = LinearGradientMode.ForwardDiagonal;             lGB = new LinearGradientBrush(rec, cR, cW, lGM);             g.FillRectangle(lGB, rec);             // Right down rectangle:             g.DrawString("BackwardDiagonal", f, fb, w + 20, h + 25);             rec.Offset(w + 10, 0);             lGM = LinearGradientMode.BackwardDiagonal;             lGB = new LinearGradientBrush(rec, cR, cW, lGM);             g.FillRectangle(lGB, rec);             fb.Dispose();             g.Dispose();         }     } }