Draw shapes to the bitmap in memory

image_pdfimage_print


   
 


  using System;
  using System.Drawing;
  using System.Drawing.Drawing2D;
  using System.Collections;
  using System.ComponentModel;
  using System.Windows.Forms;
  using System.Data;
  using System.Drawing.Imaging;

  public class Form1 : System.Windows.Forms.Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    private void InitializeComponent()
    {
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(292, 273);
      this.Text = "";
      this.Resize += new System.EventHandler(this.Form1_Resize);
      this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);

    }
    static void Main() 
    {
      Application.Run(new Form1());
    }

    private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {      
      Graphics gForm = e.Graphics;
      gForm.FillRectangle(Brushes.White, this.ClientRectangle);

      // Create a Bitmap image in memory and set its CompositingMode
      Bitmap bmp = new Bitmap(260, 260, PixelFormat.Format32bppArgb);
      Graphics gBmp = Graphics.FromImage(bmp);
      gBmp.CompositingMode = CompositingMode.SourceCopy;

      // draw a red circle to the bitmap in memory
      Color red = Color.FromArgb(0x60, 0xff, 0, 0);
      Brush redBrush = new SolidBrush(red);
      gBmp.FillEllipse(redBrush, 70, 70, 160, 160);

      // draw a green rectangle to the bitmap in memory
      Color green = Color.FromArgb(0x40, 0, 0xff, 0);
      Brush greenBrush = new SolidBrush(green);
      gBmp.FillRectangle(greenBrush, 10, 10, 140, 140);
      
      // draw the bitmap on our window
      gForm.DrawImage(bmp, 20, 20, bmp.Width, bmp.Height);

      bmp.Dispose();
      gBmp.Dispose();
      redBrush.Dispose();
      greenBrush.Dispose();
    }

    private void Form1_Resize(object sender, System.EventArgs e)
    {
      Invalidate();
    }
  }

           
         
     


This entry was posted in 2D Graphics. Bookmark the permalink.