Можно ли сделать снимок экрана веб-страницы с помощью ASP.net с помощью кода C #

Можно ли сделать снимок экрана веб-страницы с помощью ASP.net с кодом C #, а затем отправить его обратно на сервер? В этом коде доступ только к локальному хосту, но тот же исходный код не имеет доступа к IIS, возникла ошибка CopyFromScreen. По какой причине это возможно?

Пример исходного кода:

Bitmap Bitmap;
Graphics Graps;
Bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height - 110, PixelFormat.Format32bppArgb);
Graps = Graphics.FromImage(Bitmap);
Graps.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, 110, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
Bitmap.Save(Server.MapPath("~") + "/YourShot.gif");

person Community    schedule 12.06.2009    source источник


Ответы (2)


Я немного запутался. Вы делаете скриншот сервера и сохраняете его там? Какой в ​​этом смысл?

Что именно здесь нужно делать? Если вы хотите сделать снимок экрана веб-страницы, возможно, вам стоит взглянуть на этот вопрос.

У нас есть еще один вопрос: Как сделать вы делаете снимок экрана веб-сайта с помощью кода .Net?

Есть еще один вопрос о принятии скриншот

person Shoban    schedule 12.06.2009

Использование растрового изображения (даже JPG) кажется мне очень дорогим способом хранения веб-страницы, а также тем, что вы не сможете легко проанализировать или сравнить с разными версиями (например, в разные даты). Если вы хотите изучить альтернативу - перетащить веб-сайт HTML на сервер, просто сделайте следующее:

WebRequest wrContent = WebRequest.Create("http://www.destsite.com/yourpage.aspx");
Stream objStream = wrContent.GetResponse().GetResponseStream();
StreamReader objStreamReader = new StreamReader(objStream);
string pageContent = objStreamReader.ReadToEnd();

Надеюсь, это поможет ... во всяком случае, есть над чем подумать.

person Mark Brittingham    schedule 04.04.2010