Skip to main content
Email Password   helpLost your password?

Introduction

Once upon a time, I got an idea to have a thumbnail of a webpage associated with each URL that I had on my list. Sort of a URL with "face" :). I began to research on how to implement it, and found no solution for it in the open software domain. Many that I found were commercial products in the form of components and standalone programs. I'm just a poor programmer, and couldn't spend much to buy such a component. I was sure that there would be a way (even several) to achieve this goal without touching my child's spare money. And what I present in this article is what I found.

Using the code

Before you get into the code, you can build it and play around with it. The URL should be in a form http://www.yoursite.com, for example. I didn't write URL validation code, so you have to be careful about it. The project is very simple, and there are only a couple of points that I have to mention. To get the thumbnail image of the webpage, I use the WebBrowser component that comes with Visual Studio 2005 and is a part of the .NET framework v.2. I placed it on a BrowserForm, and set the size of the form to approximately 600 to 800 pixels to get enough visual data. Then, the BrowserForm is initialized, but is actually never shown. And this makes a trick.

private void TestForm_Load(object sender, EventArgs e) {
 browserForm = new BrowserForm(); 
}

What I have to do then is to take a snapshot of the WebBrowser after the page is loaded. That's all!

  Bitmap docImage = new Bitmap(600, 800);
  webBrowser1.DrawToBitmap(docImage, new Rectangle(webBrowser1.Location.X, 
          webBrowser1.Location.Y, webBrowser1.Width, webBrowser1.Height));
}

The page takes some time to load, and because of that, I've split the getting of the image in to three steps:

  1. I call the method getImageFromUrl(string url) on a BrowserForm that starts downloading the page from a given URL.
  2. The WebBrowser event DocumentCompleted is handled by the procedure webBrowser1_DocumentCompleted. It sets the image of the current DocPic object.
  3. The setter of the current DocPic object triggers the refreshPicture event that updates the displayed picture. Some resizing is made on place.

All code provided is purely for demonstration purposes only, so don't try to find design issues in it. You'll certainly find it if you try.

History

It's nice to know that on your website I can write history :). Thanks to the admin!

You must Sign In to use this message board.
 
 
Per page   
 FirstPrevNext
Questionapplet problem Pin
domartins
8:55 10 May '08  
GeneralHow save image Pin
rashidpervaiz08
0:22 7 Feb '08  
GeneralReal height Pin
Bizounours
3:58 19 Nov '07  
AnswerRe: Real height Pin
dooskoobi
10:42 19 Nov '07  
GeneralRe: Real height Pin
Bizounours
22:07 19 Nov '07  
AnswerRe: Real height - SOLUTION Pin
tfpds
4:28 12 Dec '07  
QuestionBlank Image on Websites with Java Applets Pin
Jon Ebersole
13:58 9 Feb '07  
AnswerRe: Blank Image on Websites with Java Applets Pin
Wei Tian
21:26 23 Mar '09  
QuestionHow to fix blank image? Pin
Matt342
15:16 29 Dec '06  
QuestionASP.Net environment Pin
Franck Quintana
8:24 26 Oct '06  
AnswerRe: ASP.Net environment Pin
dooskoobi
11:51 26 Oct '06  
GeneralRe: ASP.Net environment Pin
Franck Quintana
16:27 27 Oct '06  
GeneralRe: ASP.Net environment Pin
gedw99
7:36 27 May '07  
GeneralRe: ASP.Net environment Pin
Franck Quintana
0:24 28 May '07  
GeneralFixed blank image [modified] Pin
Randall Stephens
7:13 16 Oct '06  
GeneralRe: Fixed blank image [modified] Pin
NutSoft
2:37 16 Nov '06  
GeneralBlank Image Pin
sides_dale
17:32 8 Sep '06  
GeneralRe: Blank Image Pin
dooskoobi
13:23 9 Sep '06  
GeneralRe: Blank Image Pin
Noah Nadeau
6:51 4 Apr '08  
GeneralRe: re "I can write history:" Pin
BillWoodruff
1:59 26 Aug '06  
GeneralNice find Pin
Simone Busoli
7:58 23 Aug '06  
GeneralRe: Nice find Pin
dooskoobi
9:49 24 Aug '06  
GeneralNice, but I've got a problem Pin
Dario Solera
8:47 18 Aug '06  
GeneralRe: Nice, but I've got a problem Pin
dooskoobi
10:17 18 Aug '06  
GeneralRe: Nice, but I've got a problem Pin
Dario Solera
11:19 18 Aug '06  


Last Updated 17 Aug 2006 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2009