Get Image Resolution and Image size and Display size


   
 

  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 g = e.Graphics;
      Bitmap bmp = new Bitmap("winter.jpg");
      g.DrawImage(bmp, 0, 0);

      Console.WriteLine("Screen resolution: " + g.DpiX + "DPI");
      Console.WriteLine("Image resolution: " + bmp.HorizontalResolution + "DPI");
      Console.WriteLine("Image Width: " + bmp.Width);
      Console.WriteLine("Image Height: " + bmp.Height);

      SizeF s = new SizeF(bmp.Width * (g.DpiX / bmp.HorizontalResolution),
                bmp.Height * (g.DpiY / bmp.VerticalResolution));
      Console.WriteLine("Display size of image: " + s);
    }

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


           
         
     


Clone Image


   
 

  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 g = e.Graphics;
      Bitmap bmp = new Bitmap("winter.jpg");
      g.FillRectangle(Brushes.White, this.ClientRectangle);

      Rectangle r = new Rectangle(120, 120, 400, 400);
      Bitmap bmp2 = bmp.Clone(r, System.Drawing.Imaging.PixelFormat.DontCare);
      g.DrawImage(bmp, new Rectangle(0, 0, 200, 200));
      g.DrawImage(bmp2, new Rectangle(210, 0, 200, 200));
      bmp2.Dispose();
    }

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


           
         
     


Shear Image


   
 


  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 g = e.Graphics;
      Bitmap bmp = new Bitmap("winter.jpg");
      g.FillRectangle(Brushes.White, this.ClientRectangle);

      Point[] destinationPoints = {
        new Point(0, 0),    // destination for upper-left point of original
        new Point(300, 0),  // destination for upper-right point of original
        new Point(100, 300)};// destination for lower-left point of original
      g.DrawImage(bmp, destinationPoints);
    }

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

           
         
     


Shrink Image


   
 

  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 g = e.Graphics;
      Bitmap bmp = new Bitmap("winter.jpg");
      g.FillRectangle(Brushes.White, this.ClientRectangle);

      Rectangle sr = new Rectangle(80, 60, 400, 400);
      Rectangle dr = new Rectangle(0, 0, 200, 200);
      g.DrawImage(bmp, dr, sr, GraphicsUnit.Pixel);
    }

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


           
         
     


Image.FromStream: load image from stream

   
  

using System;
using System.Net;
using System.IO;
using System.Drawing;
using System.Windows.Forms;

public class MainClass {
    public static void Main() {
        WebRequest requestPic = WebRequest.Create("http://www.your.com/1.jpg");
        WebRequest requestHtml = WebRequest.Create("http://www.your.com");

        WebResponse responsePic = requestPic.GetResponse();
        WebResponse responseHtml = requestHtml.GetResponse();

        Image img = Image.FromStream(responsePic.GetResponseStream());

        using (StreamReader r = new StreamReader(responseHtml.GetResponseStream())) {
            Console.WriteLine(r.ReadToEnd());
        }
    }
}

   
     


Load Image from an image file with Exception handler

   
  


using System;
using System.Drawing;
using System.Windows.Forms;
   
class BetterImageFromFile:Form
{
     Image image;
   
     public static void Main()
     {
          Application.Run(new BetterImageFromFile());
          
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
     }     
     public BetterImageFromFile()
     {
          string strFileName = "Color.jpg";
          ResizeRedraw = true; 
          try
          {
               image = Image.FromFile(strFileName);
          }catch {
               MessageBox.Show("Cannot find file " + strFileName + "!",
                         Text, MessageBoxButtons.OK, MessageBoxIcon.Hand);
          }
     }
     protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
     {
          if (image == null)
               return;
   
          grfx.DrawImage(image, 0, 0);
     }
}

   
     


Get Image Decoder information

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 Test
{
static void Main()
{
ImageCodecInfo[] availableCodecs;
availableCodecs = ImageCodecInfo.GetImageEncoders();
int numCodecs = availableCodecs.Length;

for (int i = 0; i < numCodecs; i++) { Console.WriteLine("Codec Name = " + availableCodecs[i].CodecName); Console.WriteLine("Class ID = " + availableCodecs[i].Clsid.ToString()); Console.WriteLine("Filename Extension = " + availableCodecs[i].FilenameExtension); Console.WriteLine("Flags = " + availableCodecs[i].Flags.ToString()); Console.WriteLine("Format Description = " + availableCodecs[i].FormatDescription); Console.WriteLine("Format ID = " + availableCodecs[i].FormatID.ToString()); Console.WriteLine("MimeType = " + availableCodecs[i].MimeType); Console.WriteLine("Version = " + availableCodecs[i].Version.ToString()); Console.WriteLine(); } } } [/csharp]