Получить полностраничный снимок экрана из компонента веб-браузера.C#

Место общения программистов C#
Ответить
Anonymous
 Получить полностраничный снимок экрана из компонента веб-браузера.

Сообщение Anonymous »

Я пытаюсь сделать полностраничный снимок экрана любого веб-сайта, который просматривает пользователь, с помощью компонента WebBrowser.

В настоящее время я могу чтобы иметь возможность захватывать только то, что пользователь просматривает из веб-браузера. Однако созданное изображение скриншота имеет размер веб-страницы. Например, ниже приведен снимок экрана веб-сайта BBC (в половинном размере). Черная область на самом деле сохранена прозрачной, но для наглядности я закрасил ее черным.

< img alt="Неудачный снимок экрана сайта BBC" src="https://i.sstatic.net/Oj40w.png" />

Я видел решения, в которых новый экземпляр WebBrowser используется для получения полностраничный снимок. Однако мне нужно, чтобы снимок экрана точно соответствовал странице, которую пользователь просматривает в данный момент, подобно тому, как в Firefox работает полностраничный снимок экрана.

Мой код ниже, который создал изображение выше:

private void button1_Click(object sender, EventArgs e)
{

while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}

int scrollWidth = 0;
int scrollHeight = 0;

scrollHeight = webBrowser1.Document.Body.ScrollRectangle.Height;
scrollWidth = webBrowser1.Document.Body.ScrollRectangle.Width;
webBrowser1.Size = new Size(scrollWidth, scrollHeight);
Bitmap bm = new Bitmap(scrollWidth, scrollHeight);

webBrowser1.DrawToBitmap(bm, new Rectangle(0, 0, bm.Width, bm.Height));
bm.Save(@"D:\Screenshots\test.png", ImageFormat.Png);

}


Подробнее здесь: https://stackoverflow.com/questions/282 ... -component
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»