3

是否可以使用带有 C# 代码的 ASP.net 截取网页的屏幕截图,然后将其提交回服务器?在此代码中只能访问本地主机,但相同的源代码不能访问 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");
4

2 回答 2

0

使用位图(甚至是 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();

希望这会有所帮助......无论如何都要考虑一下。

于 2010-04-04T01:43:26.917 回答
0

我有点困惑。您正在截取服务器的屏幕截图并将其保存在那里?它有什么意义?

究竟是什么在做什么?如果您想截取网页的屏幕截图,那么您可能需要查看这个问题

我们这里还有一个问题:您如何通过 .Net 代码截取网站的屏幕截图?

还有一个关于截图的问题

于 2009-06-12T04:32:11.297 回答