объект WebBrowser.DrawtoBitmap () генерирует пустые изображения для нескольких сайтов последовательно
Я использую WebBrowser.DrawtoBitmap () в моем asp.net страница выполняется в отдельном потоке STA для захвата веб-страниц в виде изображения. Но я обнаружил, что получаю пустые изображения для нескольких сайтов последовательно. Я знаю, что этот метод не поддерживается "официально", но было бы неплохо, если бы кто-то мог предоставить мне любую причину или обойти эту проблему с пустыми изображениями.
3 ответов:
DrawToBitmapимеет ограничения и не всегда работает так, как ожидалось. Попробуйте вместо этого работать с собственным GDI+Вот Пример
Эту проблему можно решить, сосредоточив внимание на элементе управления, чтобы он правильно рисовал.
Это был бы вариант, но элемент управления должен быть видимым: WebBrowser.DrawToBitmap() или другие методы?
Насколько я слышал, проблема заключается в том, что ее исправляют, когда вы нажимаете webbrowsercontrol. Поэтому выполнение этой программы должно решить проблему:)
Я не проверял это, но теоретически я думаю, что его можно запустить в windows-форме в asp.net приложение. Ссылка на систему.окна.формы и к рисованию, затем используйте приложение.запуск в отдельном потоке. Примечание: Я на своем телефоне, поэтому я не могу проверить его, но он может действительно работать.
Ты не бьешь по страницам вспышкой?
Я должен был сделать это, чтобы заставить мой
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); } }Я использую его для создания скриншотов. Я запускаю его в отдельном потоке STA (как служба windows-ничего не видно).
Comments