Mega Code Archive

 
Categories / C# / 2D Graphics
 

Draw a line

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace GraphicsObject_c {     /// <summary>     /// Summary description for GraphicsObject.     /// </summary>   public class GraphicsObject : System.Windows.Forms.Form   {     private System.Windows.Forms.PictureBox P1;     private System.Windows.Forms.Panel Panel1;     private System.Windows.Forms.Button B1;     /// <summary>     /// Required designer variable.     /// </summary>     private System.ComponentModel.Container components = null;     public GraphicsObject()     {       //       // Required for Windows Form Designer support       //       InitializeComponent();       this.P1.Paint += new System.Windows.Forms.PaintEventHandler         (this.AllPaint);       this.Panel1.Paint += new System.Windows.Forms.PaintEventHandler         (this.AllPaint);       this.B1.Paint += new System.Windows.Forms.PaintEventHandler         (this.AllPaint);            }     /// <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()     {       this.P1 = new System.Windows.Forms.PictureBox();       this.Panel1 = new System.Windows.Forms.Panel();       this.B1 = new System.Windows.Forms.Button();       this.SuspendLayout();       //        // P1       //        this.P1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;       this.P1.Location = new System.Drawing.Point(192, 16);       this.P1.Name = "P1";       this.P1.Size = new System.Drawing.Size(152, 168);       this.P1.TabIndex = 0;       this.P1.TabStop = false;       this.P1.Click += new System.EventHandler(this.P1_Click);       //        // Panel1       //        this.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;       this.Panel1.Location = new System.Drawing.Point(16, 168);       this.Panel1.Name = "Panel1";       this.Panel1.Size = new System.Drawing.Size(120, 120);       this.Panel1.TabIndex = 2;       //        // B1       //        this.B1.Location = new System.Drawing.Point(192, 216);       this.B1.Name = "B1";       this.B1.Size = new System.Drawing.Size(152, 120);       this.B1.TabIndex = 3;       this.B1.Text = "button1";       this.B1.Click += new System.EventHandler(this.B1_Click);       //        // GraphicsObject       //        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);       this.ClientSize = new System.Drawing.Size(424, 373);       this.Controls.AddRange(new System.Windows.Forms.Control[] {                                                                   this.B1,                                                                   this.Panel1,                                                                   this.P1});       this.Name = "GraphicsObject";       this.Text = "GraphicsObject";       this.Load += new System.EventHandler(this.GraphicsObject_Load);       this.ResumeLayout(false);     }         #endregion     /// <summary>     /// The main entry point for the application.     /// </summary>     [STAThread]     static void Main()      {       Application.Run(new GraphicsObject());     }     private void GraphicsObject_Load(object sender, System.EventArgs e)     {     }     protected override void OnPaint( PaintEventArgs e )     {       Graphics G = e.Graphics;       G.DrawLine(Pens.Black,20,20,100,100);       base.OnPaint(e);     } //----------------------------------------------------------------------------       void P1Paint( object sender,PaintEventArgs e )       {           Graphics G = e.Graphics;           G.DrawLine(Pens.Black,20,20,100,100);           base.OnPaint(e);       }     void Panel1Paint( object sender,PaintEventArgs e )     {       Graphics G = e.Graphics;       G.DrawLine(Pens.Black,20,20,100,100);       base.OnPaint(e);     }     void ButtonPaint( object sender,PaintEventArgs e )     {       Graphics G = e.Graphics;       G.DrawLine(Pens.Black,20,20,100,100);       base.OnPaint(e);     }     void AllPaint( object sender, PaintEventArgs e )     {       Graphics G = e.Graphics;       if ( sender.GetType() == Panel1.GetType() )         if ( ((Panel)sender).Name == "Panel1" )           G.DrawLine(Pens.Red,20,20,100,100);       if ( sender.GetType() == B1.GetType() )         if ( ((Button)sender).Name == "B1" )           G.DrawLine(Pens.Green,20,20,100,100);       if ( sender.GetType() == P1.GetType() )         if ( ((PictureBox)sender).Name == "P1" )           G.DrawLine(Pens.Blue,20,20,100,100);       base.OnPaint(e);     }     private void B1_Click(object sender, System.EventArgs e)     {       Graphics G;       Graphics G2;       G = this.CreateGraphics();       G.DrawLine ( new Pen(Color.DarkMagenta,10),50,10,50,100 );       G2 = Graphics.FromHwnd(this.Handle);       G2.DrawLine(new Pen(Color.DarkCyan, 10), 70, 10, 70, 100);       // Create new graphics object using handle to device context.       Graphics G3  = Graphics.FromHdc(G2.GetHdc());       G3.DrawLine(new Pen(Color.Black, 10), 85, 10, 85, 100);       G3.Dispose();       G.Dispose();      // G2.Dispose();      }     private void P1_Click(object sender, System.EventArgs e)     {       Image img = Image.FromFile("crane.jpg");       Graphics G = Graphics.FromImage(img);       G.DrawLine(new Pen(Color.Aquamarine, 10), 0,(int)(img.Height / 2),                                                    (int)(img.Width),                                                    (int)(img.Height / 2));       P1.Image=img;       G.Dispose();     }   } }