在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
A thumbnail is a small sized image. Creating a thumbnail using .NET is extremely simple. In this article, we will explore how to create a thumbnail image and display the thumbnail in our application. Follow these steps: Step 1: Open Visual Studio 2005/2008. File > New > Project > Visual C# or Visual Basic > Windows Application. Enter the name of the application and click Ok. Step 2: Drag and drop a label, 2 button controls and an OpenFileDialog component to the form. Rename them as follows: Label1 – lblFile Button1 – btnOpen Button2 – btnGenerateThumbnail TextBox – txtFileNm OpenFileDialog – Set the Filter to ‘JPG Files|*.jpg’
Step 3: On the ‘btnOpen’ click, display the File Open dialog box and accept the selected .jpg file in the txtFileNm textbox. C# private void btnOpen_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { txtFileNm.Text = openFileDialog1.FileName; } }
Step 4: Next, on the ‘btnGenerateThumbnail’ click, add the following code: C# // Declare a class level variable Image imgThumb = null; private void btnGenerateThumbnail_Click(object sender, EventArgs e) { try { Image image = null; // Check if textbox has a value if (txtFileNm.Text != String.Empty) image = Image.FromFile(txtFileNm.Text); // Check if image exists if (image != null) { imgThumb = image.GetThumbnailImage(100, 100, null, new IntPtr()); this.Refresh(); } } catch { MessageBox.Show("An error occured"); } } The code creates an Image object from the image supplied in the textbox. Using the Image.GetThumbnailImage(), the code then creates a thumbnail image with a size of 100*100. The Image.GetThumbnailImage() takes in four arguments : Width, in pixel of the thumbnail image that is to be generated Height, in pixel of the thumbnail image that is to be generated Callback, a Image.GetTumbnailImageAbort delegate to prematurely cancel execution CallbackData, of type IntPtr to represent a pointer or a handle. Step 5: The final step is to add the Paint event which is called using this.Refresh() in the button click. The thumbnail image is drawn on the form. C# private void Form1_Paint(object sender, PaintEventArgs e) { if(imgThumb != null) e.Graphics.DrawImage(imgThumb,30, 20, imgThumb.Width, imgThumb.Height); }
Run the application, select the image and click on the Generate button. The preview will be similar to the image displayed below : You can actually extend this example to 'save' the generated thumbnails. Something like a ‘Thumbnail Creator’ program. You can loop through a folder containing images and generate thumbnail images for all the images in the folder. I would encourage you to try out these ideas. |
请发表评论