private void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { var browser = sender as WebBrowser; Rectangle body = browser.Document.Body.ScrollRectangle; browser.Width = body.Width; browser.Height = body.Height; using (var bitmap = new Bitmap(body.Width, body.Height)) { IViewObject ivo = browser.Document.DomDocument as IViewObject; using (Graphics g = Graphics.FromImage(bitmap)) { //get the handle to the device context and draw IntPtr hdc = g.GetHdc(); ivo.Draw(1, -1, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, hdc, ref body, ref body, IntPtr.Zero, 0); g.ReleaseHdc(hdc); } if (_captured != null) { WebPageCapturedEventArgs args = new WebPageCapturedEventArgs() { Image = new DefaultImage(bitmap) }; _captured(this, args); } } }