<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Hi,<br>
    <br>
    Question: Why does the below code (to take a thumbnail of a website)
    hang forever at:<br>
    <br>
    <span class="Apple-style-span" style="border-collapse: separate;
      color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style:
      normal; font-variant: normal; font-weight: normal; letter-spacing:
      normal; line-height: normal; orphans: 2; text-indent: 0px;
      text-transform: none; white-space: normal; widows: 2;
      word-spacing: 0px; font-size: medium;"><span
        class="Apple-style-span" style="color: rgb(85, 85, 85);
        font-family: Verdana,'BitStream vera Sans',Helvetica,sans-serif;
        font-size: 12px; line-height: 17px;">
        <pre class="csharpcode" style="margin: 5px 0px; padding: 8px 12px 8px 36px; background-image: url(&quot;http://pietschsoft.com/themes/inove/img/blockquote.gif&quot;); background-color: rgb(255, 255, 255); border: 1px dashed rgb(204, 204, 204); font-size: small; color: black; font-family: consolas,'Courier New',courier,monospace; background-position: 3px 3px;">    <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">while</span> (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }</pre>
      </span></span><br>
    ? It works with .NET on Windows.<br>
    <br>
    And furthermore, is it possible to take a WebSite Thumbnail with
    webkit-sharp ?<br>
    I have not found a way.<br>
    <br>
    I'm now resorting to khtml2png.<br>
    <br>
    <br>
    Code:<br>
    <span class="Apple-style-span" style="border-collapse: separate;
      color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style:
      normal; font-variant: normal; font-weight: normal; letter-spacing:
      normal; line-height: normal; orphans: 2; text-indent: 0px;
      text-transform: none; white-space: normal; widows: 2;
      word-spacing: 0px; font-size: medium;"><span
        class="Apple-style-span" style="color: rgb(85, 85, 85);
        font-family: Verdana,'BitStream vera Sans',Helvetica,sans-serif;
        font-size: 12px; line-height: 17px;">
        <pre class="csharpcode" style="margin: 5px 0px; padding: 8px 12px 8px 36px; background-image: url(&quot;http://pietschsoft.com/themes/inove/img/blockquote.gif&quot;); background-color: rgb(255, 255, 255); border: 1px dashed rgb(204, 204, 204); font-size: small; color: black; font-family: consolas,'Courier New',courier,monospace; background-position: 3px 3px;"><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">


public</span> Bitmap GenerateScreenshot(<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">string</span> url)
{
    <span class="rem" style="margin: 0px; padding: 0px; color: rgb(0, 128, 0);">// This method gets a screenshot of the webpage</span>
    <span class="rem" style="margin: 0px; padding: 0px; color: rgb(0, 128, 0);">// rendered at its full size (height and width)</span>
    <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">return</span> GenerateScreenshot(url, -1, -1);
}

<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">public</span> Bitmap GenerateScreenshot(<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">string</span> url, <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">int</span> width, <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">int</span> height)
{
    <span class="rem" style="margin: 0px; padding: 0px; color: rgb(0, 128, 0);">// Load the webpage into a WebBrowser control</span>
    WebBrowser wb = <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">new</span> WebBrowser();
    wb.ScrollBarsEnabled = <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">false</span>;
    wb.ScriptErrorsSuppressed = <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">true</span>;
    wb.Navigate(url);
    <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">while</span> (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }


    <span class="rem" style="margin: 0px; padding: 0px; color: rgb(0, 128, 0);">// Set the size of the WebBrowser control</span>
    wb.Width = width;
    wb.Height = height;

    <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">if</span> (width == -1)
    {
        <span class="rem" style="margin: 0px; padding: 0px; color: rgb(0, 128, 0);">// Take Screenshot of the web pages full width</span>
        wb.Width = wb.Document.Body.ScrollRectangle.Width;
    }

    <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">if</span> (height == -1)
    {
        <span class="rem" style="margin: 0px; padding: 0px; color: rgb(0, 128, 0);">// Take Screenshot of the web pages full height</span>
        wb.Height = wb.Document.Body.ScrollRectangle.Height;
    }

    <span class="rem" style="margin: 0px; padding: 0px; color: rgb(0, 128, 0);">// Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control</span>
    Bitmap bitmap = <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">new</span> Bitmap(wb.Width, wb.Height);
    wb.DrawToBitmap(bitmap, <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">new</span> Rectangle(0, 0, wb.Width, wb.Height));
    wb.Dispose();

    <span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">return</span> bitmap;
}</pre>
      </span></span><br>
  </body>
</html>