簡體   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