2009-04-03 6 views
5

私のアプリで現在の画面をキャプチャして電子メールで送信する機能を追加したいと考えています。私は非常に非技術的なユーザーベースを持っているので、できるだけシンプルにする必要があります。 Help Me!というメニュー項目をクリックする予定です。現在のアプリケーション画面がjpgまたはpng形式でキャプチャされ、Outlookが開き、画像が添付ファイルとして追加されます。現在の画面をイメージとしてキャプチャするにはどうすればよいですか?

コードプロンプトでこの投稿ScreenCaptureを読んでいましたが、それはちょっと古くて、私が探していたものではありませんので、これを行うより良い方法があるかどうかを確認すると思いました。

どうすればこの作業を開始できますか?ライブラリがありますか、または十分な機能が内蔵されていますか?

ありがとうございます!

答えて

12

あなたがリンクした投稿は正しいアプローチです。彼らはそれを非常に複雑にしました。 Graphics.CopyFromScreenを使用します。

Rectangle bounds = this.Bounds; 

using(Bitmap ss = new Bitmap(bounds.Width, bounds.Height)) 
using(Graphics g = Graphics.FromImage(ss)) 
{ 
    g.CopyFromScreen(this.Location, Point.Empty, bounds.Size); 
    ss.Save("test.jpg", ImageFormat.Jpeg); 
} 
+0

小さなタイプ - >ライン4 - > Graphics.FromImage(ss) シャイニー! –

+0

@Mr_Mom:ありがとうございました。 – Samuel

関連する問題