title: Saving images from a WebBrowser Control
body: <p>The following code runs, but the Bitmap generated is shifted down about half an inch and cutoff at the bottom.  I checked the image width and height and it is creating an image of the correct size, just the image contents are shifted down and cutoff.  I'm stumped... any ideas?</p>
  
  <pre><code>    using mshtml;
      using System.Drawing;
      using System.Runtime.InteropServices;
  
      [ComImport, InterfaceType((short)1), Guid("3050F669-98B5-11CF-BB82-00AA00BDCE0B")]
      private interface IHTMLElementRenderFixed
      {
          void DrawToDC(IntPtr hdc);
          void SetDocumentPrinter(string bstrPrinterName, IntPtr hdc);
      }
  
      public Bitmap GetImage(string id)
      {
          HtmlElement e = webBrowser1.Document.GetElementById(id);
          IHTMLImgElement img = (IHTMLImgElement)e.DomElement;
          IHTMLElementRenderFixed render = (IHTMLElementRenderFixed)img;
  
          Bitmap bmp = new Bitmap(img.width, img.height);
          Graphics g = Graphics.FromImage(bmp);
          IntPtr hdc = g.GetHdc();
          render.DrawToDC(hdc);
          g.ReleaseHdc(hdc);
  
          return bmp;
      }
  </code></pre>