繁体   English   中英

是否可以使用带有C#代码的ASP.net截取网页的屏幕截图

[英]Is it possible to take a screenshot of a web page with ASP.net with C# Code

是否可以使用带有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");

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

无论如何,希望这有助于......思考一些事情。

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

到底要做什么? 如果您想拍摄网页的屏幕截图,那么您可能想看看这个问题

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

关于截屏的另一个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM