WebBrowser.DrawtoBitmap() generating blank images for few sites consistently

余生长醉 提交于 2019-12-01 15:07:38

问题


I've been using WebBrowser.DrawtoBitmap() in my asp.net page running in separate STA thread to capture web pages as an image. But I found that I'm getting blank images for few sites consistently. I'm aware that the method is not 'officially' supported but it would be nice if someone can provide me any reason or a work around for these blank images issue.


回答1:


DrawToBitmap has limitations and dont always work as expected. Try instead work with native GDI+

Here is example




回答2:


This problem can be solved by giving focus to the control, so it'll draw properly.

This'd be an option, but the control would have to be visible: WebBrowser.DrawToBitmap() or other methods?

As far as I've heard about the problem is that its fixed when you click the webbrowsercontrol. Therefore doing this programmatic should solve the problem :)

I haven't tested this, but in theory I think its possible to launch a windows form in an asp.net application. Reference to system.windows.forms and to drawing, then use application.run on a separate thread. Note: I'm on my phone so I can't test it, but it might actually work.




回答3:


You're not hitting pages with Flash?

I had to do this, in order to get my WebBrowser control to work:

using System;
using System.Windows.Forms;

public class WebBrowserEx : WebBrowser
{
   public WebBrowserEx()
   {
   }

   protected override void WndProc(ref Message m)
   {
      switch (m.Msg)
      {
         case 0x021:
         case 0x201:
         case 0x204:
         case 0x207:
             base.DefWndProc(ref m);
             return;
      }
      base.WndProc(ref m);
   }
}

I seriously have no idea what I was doing, I just found it somewhere and it was to enable Flash. But I think I haven't had to much problems with it since.

I use it to do screenshots. I run it on a separate STA thread (as a windows service - nothing visible).



来源:https://stackoverflow.com/questions/5351830/webbrowser-drawtobitmap-generating-blank-images-for-few-sites-consistently

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!