为什么WebBrowser获取电话屏幕尺寸,是否需要设置属性来获取计算机屏幕尺寸?

时间:2019-05-01 03:48:49

标签: c#

我正在使用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的电话尺寸的宽度/高度。

任何提示或建议对我都有意义。谢谢!

0 个答案:

没有答案