3

ASP.netとC#コードを使用してWebページのスクリーンショットを撮り、それをサーバーに送信することはできますか?このコードでは、ローカルホストのみにアクセスしますが、同じソースコードでは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

私は少し混乱しています。サーバーのスクリーンショットを撮ってそこに保存していますか? そのポイントは何ですか?

ここで何をしようとしているのですか?Web ページのスクリーン ショットを撮りたい場合は、この質問を参照してください。

ここで別の質問があります。.Net コードを使用して Web サイトのスクリーンショットを取得するにはどうすればよいですか?

スクリーンショットの撮り方についてまた質問です

于 2009-06-12T04:32:11.297 に答える
0

ビットマップ (JPG であっても) を使用すると、Web ページを保存するための非常にコストのかかる方法であり、簡単に解析したり、異なるバージョン (異なる日付など) と比較したりすることもできません。別の方法を検討したい場合、つまり Web サイトの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 に答える