我正在使用Webbrowser来获取网站的完整屏幕截图。有些网站会自动返回电话屏幕的宽度/高度,但我不希望这样。可以通过设置Webbrowser属性从任何网站获取计算机屏幕的宽度/高度吗?可能吗?
我已经在Google和此网站上搜索了许多信息,但没有一个能解决我的问题。 下面的代码是我尝试了多长时间。
WebBrowser browser = sender as WebBrowser;
browser.ScrollBarsEnabled = false;
browser.Width = browser.Document.Body.ScrollRectangle.Width;
browser.Height = browser.Document.Body.ScrollRectangle.Height;
using (Bitmap bitmap = new Bitmap(browser.Width, browser.Height))
{
browser.DrawToBitmap(bitmap, new Rectangle(0, 0, browser.Width, browser.Height));
using (MemoryStream stream = new MemoryStream())
{
bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
byte[] bytes = stream.ToArray();
Image1.Visible = true;
Image1.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(bytes);
}
}
在此website 1中,我得到的尺寸与在计算机中所看到的完全一样,但是从Webbrowser中获得了此website 2的电话尺寸的宽度/高度。
任何提示或建议对我都有意义。谢谢!