Introduction

This article shows how to show a thumbnail of an image using C#.

Procedures

Step 1: Create a new “Windows Forms application” in Visual Studio and name the project as you choose (I here named it ThumbNailImage).

Now a new Windows Forms form will be generated.

Step 2: Now go to the toolbox and add a PictureBox Control to your project. A PictureBox Control is used to show the images.

Step 3: Now add an image of your choice to your project in Solution Explorer. (I added an image in a folder in the solution file).

Step 4: Right-click on the image file in your project and in it's property option just change the "Copy to output directory" to "Copy if Newer".



Step 5: Now it's time for the code. Navigate to "Form1.cs" and add the following code:

public Form1()
{
InitializeComponent();

//Generating an Event for Paint which actually
// draw the image inthe PictureBox

pictureBox1.Paint +=
new
PaintEventHandler
(pictureBox1_Paint);
}


The method for that event is created as in the following:

void pictureBox1_Paint(object sender, PaintEventArgs e)
{

}


Step 6:
Add the following code to that method:

void pictureBox1_Paint(object sender, PaintEventArgs e)
{

//Calling a Method myThumbnail() and passing an

// Event of type PaintEventArgs as a Parameter

myThumbnail(e);

}


Step 7:
Add the following code in the method "myThumbnail":

private void myThumbnail(PaintEventArgs e)
{

//Declaring a Call back method and passing a

// function name as its parameter 'CallbackFun'

Image
.GetThumbnailImageAbort imgcallback = new Image.GetThumbnailImageAbort(CallbackFun);
//Passing the image from our project to convert
// into Thumbnail

Image
image = new Bitmap("Images/Desert.jpg");
//Passing the height and width of thumbnail to be created

Image
imgThumbnail = image.GetThumbnailImage(100, 100, imgcallback, new IntPtr());
e.Graphics.DrawImage(imgThumbnail,10,10,imgThumbnail.Width,imgThumbnail.Height);

}

public
bool CallbackFun()
{

return
true;
}

That's all for this article. I am embedding the source file so that you can go through it.

Thank You.