Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: .NET
Expertise: Intermediate
Jun 16, 2009



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Create and Save Thumbnails of Web Pages

You can use the .NET WebBrowser control to take thumbnails or full-size screenshots of loaded web pages, and then use the Bitmap class to save them locally.

For example, to generate a thumbnail, use:

public Bitmap GenerateThumbnail(string url)
    //rendered at full size
    return GenerateScreenshot(url, -1, -1);

public Bitmap GenerateThumbnail(string url, int width, int height)
    // Load the webpage into a WebBrowser control
    WebBrowser wb = new WebBrowser();
    wb.ScrollBarsEnabled = false;
    wb.ScriptErrorsSuppressed = true;
    while (wb.ReadyState != WebBrowserReadyState.Complete) {   Application.DoEvents(); }

    // Set the size of the WebBrowser control
    wb.Width = width;
    wb.Height = height;

    if (width == -1)
        // Take Screenshot of the web pages full width
        wb.Width = wb.Document.Body.ScrollRectangle.Width;

    if (height == -1)
        // Take Screenshot of the web pages full height
        wb.Height = wb.Document.Body.ScrollRectangle.Height;

    // Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control
    Bitmap bitmap = new Bitmap(wb.Width, wb.Height);
    wb.DrawToBitmap(bitmap, new Rectangle(0, 0, wb.Width, wb.Height));

    return bitmap;

Here are a couple of examples of calling the preceding code:

// Generate thumbnail of www.devx.com at 1024x768 resolution
Bitmap thumbnail = GenerateThumbnail("http://www.devx.com", 1024, 768);

// Generate thumbnail of a www.devx.com at full size
thumbnail = GenerateThumbnail("http://www.devx.com");
Srinath MS
Thanks for your registration, follow us on our social networks to keep up-to-date