Wie behebe ich einen Opazitätsfehler mit DrawToBitmap auf WebBrowser Control?

8

Laut dem folgenden Link und meiner Konsolenanwendung respektiert die Methode DrawToBitmap die Deckkraft nicht.

Beweislink: Ссылка

Mein HTML-Code: Ссылка

%Vor%

Mein C # -Konsolencode:

%Vor%

Ich suche also nach einer anderen .NET-integrierten Lösung ( no CEF, Awesomium oder irgendeine Erweiterung bitte ), nur eine eingebaute Funktion von .NET um den Fehler oder die alternative Lösung zu beheben, um den Screenshot einer Web-URL in meiner Konsolenanwendung zu erstellen.

Wenn ich WebBrowser window für meinen Client sichtbar mache und CopyFromScreen verwende, wird die Deckkraft respektiert und HIDDEN TEXT wird nicht angezeigt. Wie auch immer, ich möchte WebBrowser window nicht für den Desktop sichtbar machen.

Ich suche nach einer integrierten Lösung, um einen Screenshot von der geposteten URL in der Frage ohne HIDDEN TEXT zu erstellen. Mit anderen Worten, eine Lösung für respektiere opacity .

EDIT1: Alle Pixel in meinem Bitmap class (.NET-Klasse nicht BMP-Format) hat einen Alpha-Wert von 255. Das Problem ist also NICHT mit dem Dateiformat. Ich habe PNG und irgendein anderes .NET unterstütztes Format versucht.

Kompletter Quellcode (Konsolenvorlage, muss Referenzen zu System.Drawing und System.Windows.Forms

hinzufügen %Vor%     
Mohsen Sarkar 11.02.2014, 08:51
quelle

1 Antwort

5
  

Ich bin auf der Suche nach einer integrierten Lösung, um einen Screenshot von gepostet zu nehmen   URL in der Frage ohne versteckten Text. Mit anderen Worten eine Lösung für   Respekt Opazität.

Der folgende Code macht genau das: respektiert die CSS-Deckkraft . Es verwendet unter anderem eine Metafile Objekt und OleDraw API zum Rendern des Bildes der Webseite.

Test HTML:

%Vor%

Die Ausgabe:

Der Code (Konsolen-App):

%Vor%     
Noseratio 17.02.2014, 11:47
quelle

Tags und Links