9

別のSTAスレッドで実行されているasp.netページでWebBrowser.DrawtoBitmap()を使用して、Webページを画像としてキャプチャしています。しかし、いくつかのサイトで一貫して空白の画像が表示されていることがわかりました。この方法は「公式に」サポートされていないことは承知していますが、誰かがこれらの空白の画像の問題について何らかの理由または回避策を提供してくれると便利です。

4

3 に答える 3

2

この問題は、コントロールにフォーカスを置くことで解決できるため、適切に描画されます。

これはオプションですが、コントロールは表示されている必要があります:WebBrowser.DrawToBitmap()または他のメソッド?

この問題について聞いた限りでは、webbrowsercontrolをクリックすると修正されます。したがって、このプログラマティックを実行すると、問題が解決するはずです:)

私はこれをテストしていませんが、理論的にはasp.netアプリケーションでWindowsフォームを起動することは可能だと思います。system.windows.formsと描画を参照してから、別のスレッドでapplication.runを使用します。注:電話を使用しているため、テストできませんが、実際には機能する可能性があります。

于 2011-03-18T12:16:48.760 に答える
2

Flashでページをヒットしていませんか?

WebBrowserコントロールを機能させるために、これを行う必要がありました。

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);
   }
}

私は自分が何をしているのか真剣にわかりません。どこかで見つけただけで、Flashを有効にすることでした。でもそれ以来、それほど問題はなかったと思います。

スクリーンショットを撮るために使用します。別のSTAスレッドで実行します(Windowsサービスとして-何も表示されません)。

于 2011-03-18T12:28:36.857 に答える