WebBrowser.DrawtoBitmap () generiert leere Bilder für einige Websites konsistent

8

Ich habe WebBrowser.DrawtoBitmap () in meiner asp.net-Seite verwendet, die in einem separaten STA-Thread ausgeführt wird, um Webseiten als Bild zu erfassen. Aber ich habe festgestellt, dass ich immer wieder leere Bilder für einige Seiten bekomme. Ich bin mir bewusst, dass die Methode nicht "offiziell" unterstützt wird, aber es wäre nett, wenn mir jemand einen Grund oder eine Arbeit für diese leeren Bilder liefern könnte.

    
NLV 18.03.2011, 12:14
quelle

3 Antworten

5

DrawToBitmap hat Einschränkungen und funktioniert nicht immer wie erwartet. Versuchen Sie stattdessen, mit nativem GDI + zu arbeiten

Hier ist Beispiel

    
Stecya 18.03.2011, 12:17
quelle
2

Dieses Problem kann gelöst werden, indem Sie dem Steuerelement den Fokus zuweisen, damit es richtig gezeichnet wird.

Dies wäre eine Option, aber das Steuerelement müsste sichtbar sein: WebBrowser.DrawToBitmap () oder andere Methoden?

Soweit ich von dem Problem gehört habe, dass es behoben ist, wenn Sie auf das Webbrowser-Steuerelement klicken. Daher sollte diese Programmatik das Problem lösen:)

Ich habe das nicht getestet, aber in der Theorie halte ich es für möglich, ein Windows-Formular in einer asp.net-Anwendung zu starten. Verweisen Sie auf system.windows.forms und auf Zeichnung, und verwenden Sie dann application.run in einem separaten Thread. Hinweis: Ich bin auf meinem Telefon, damit ich es nicht testen kann, aber es könnte tatsächlich funktionieren.

    
Aidiakapi 18.03.2011 12:16
quelle
1

Sie treffen Seiten nicht mit Flash?

Ich musste dies tun, damit meine WebBrowser -Kontrolle funktioniert:

%Vor%

Ich habe wirklich keine Ahnung, was ich getan habe, ich habe es einfach irgendwo gefunden und es war Flash zu aktivieren. Aber ich denke, ich hatte seitdem nicht viel Probleme damit.

Ich benutze es um Screenshots zu machen. Ich führe es auf einem separaten STA-Thread (als Windows-Dienst - nichts sichtbar).

    
Mikael Östberg 18.03.2011 12:28
quelle