如何使用WebBrowser控件上的DrawToBitmap修復(fù)不透明度錯(cuò)誤?根據(jù)以下鏈接和我的控制臺(tái)應(yīng)用程序,該方法DrawToBitmap不考慮不透明性。證明鏈接:http : //social.msdn.microsoft.com/Forums/vstudio/en-US/e9704309-0c52-442d-80e0-2f8393dcd313/webbrowser-opacity-problem-我的HTML代碼:http://fiddle.jshell.net/L37TC/<div id="fader" style="background-color: #ff0000">ffff</div><div style="background-color: blue; opacity:0;filter:alpha(opacity=0);">HIDDEN TEXT!</div>SomeText我的C??刂婆_(tái)代碼:var bmp = new Bitmap(640,480, PixelFormat::Format32bppArgb)var web = (System.Windows.Forms.Control)sender;web.DrawToBitmap(bmp, Rectangle(0, 0, 640,480));所以我在尋找替代.NET內(nèi)置的解決方案(沒有CEF,Awesomium,或任何擴(kuò)展請(qǐng))只是一個(gè)內(nèi)置的.NET的功能來修復(fù)bug或替代解決方案采取了網(wǎng)頁URL的屏幕截圖在我的控制臺(tái)應(yīng)用。如果我使WebBrowser客戶端對(duì)窗口可見并且使用CopyFromScreen不透明性,則該窗口會(huì)受到尊重并且HIDDEN TEXT沒有顯示出來,那么我怎么不想使WebBrowser桌面屏幕對(duì)窗口可見。我正在尋找一種內(nèi)置解決方案,以從問題中的發(fā)布網(wǎng)址中獲取屏幕快照,而無需HIDDEN TEXT。換句話說,是尊重opacity的解決方案。EDIT1:我Bitmap class(.NET類不是BMP格式)中的所有像素的alpha值為255。因此問題不在于文件格式。我嘗試了PNG和其他任何.NET支持的格式。完整的源代碼(控制臺(tái)模板,需要添加對(duì)System.Drawing和的引用System.Windows.Formsclass Program{
static System.Windows.Forms.WebBrowser w = new System.Windows.Forms.WebBrowser();
[STAThread]
static void Main(string[] args)
{
w.Navigate("http://fiddle.jshell.net/L37TC/show/");
w.DocumentCompleted += w_DocumentCompleted;
System.Windows.Forms.Application.Run();
while (true) Console.Read();
}
- 1 回答
- 0 關(guān)注
- 474 瀏覽
添加回答
舉報(bào)
0/150
提交
取消