I used WebBrowser to create a bitmap,the application is runed in IIS web server,but the program throw a exception like this Error HRESULT E_FAIL has been returned from a call to a COM component..The variable text is a html code include JPG URL,the [url] is (http://pic.ctrip.com/mail/iata_logo.png) Anyone can help me?Thank you ! this is my code
AutoResetEvent re = new AutoResetEvent(false);
Thread tread = new Thread(delegate()
{
try
{
MemoryStream mss = new MemoryStream();
System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser();
//wb.ScriptErrorsSuppressed = true;
wb.Navigate("about:blank");
wb.ScrollBarsEnabled = false;
wb.ClientSize = new Size(m_BrowserWidth, m_BrowserHeight);
//wb.ScrollBarsEnabled = false;
wb.Document.Write(text.ToString());
//wb.Refresh();
Bitmap m_Bitmap = new Bitmap(m_BrowserWidth, m_BrowserHeight);
//if (wb.ReadyState != WebBrowserReadyState.Complete)
//{
// Application.DoEvents();
//}
System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(0, 0, m_BrowserWidth, m_BrowserHeight);
wb.DrawToBitmap(m_Bitmap, rectangle);
string fileName = "e:\\ddd" + Guid.NewGuid().ToString() + ".jpg";
m_Bitmap.Save(fileName);
m_Bitmap.Save(mss, System.Drawing.Imaging.ImageFormat.Jpeg);//JPG、GIF、PNG等均可
buff = mss.ToArray();
re.Set();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
});
tread.SetApartmentState(ApartmentState.STA);
tread.Start();
re.WaitOne();