private static Image Capture(string url, Size size)
{
Image result = new Bitmap(size.Width, size.Height);
var thread = new Thread(() =>
{
using (var browser = new WebBrowser())
{
browser.ScrollBarsEnabled = false;
browser.AllowNavigation = true;
browser.Navigate(url);
browser.Width = size.Width;
browser.Height = size.Height;
browser.ScriptErrorsSuppressed = true;
browser.DocumentCompleted += (sender,args) => DocumentCompleted(sender, args, ref result);
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
return result;
}