ブログトップ 記事一覧 ログイン 無料ブログ開設

プログラマーな日々 このページをアンテナに追加 RSSフィード

2010-10-21

[]デスクトップを範囲指定してキャプチャする

Cururuから移行。

C#2.0でデスクトップをキャプチャするサンプルです。指定範囲をキャプチャしてBitmapで返します。

// using System.Drawing

private Image GetCaptureImage(Rectangle rect) {
    // 指定された範囲と同サイズのBitmapを作成する
    Image img = new Bitmap(
                    rect.Width,
                    rect.Height,
                    Imaging.PixelFormat.Format32bppArgb);
 
    // Bitmapにデスクトップのイメージを描画する
    using (Graphics g = Graphics.FromImage(img)) {
        g.CopyFromScreen(
            rect.X,
            rect.Y,
            0,
            0,
            rect.Size,
            CopyPixelOperation.SourceCopy);
    }
 
    return img;
}

Rectangleで範囲指定します。

Image img = GetCaptureImage(new Rectangle(100, 100, 200, 200));

参考:

2006-07-17 - PowerShell Memo

Graphics.CopyFromScreen メソッド (Int32, Int32, Int32, Int32, Size, CopyPixelOperation) (System.Drawing)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/JHashimoto/20101021/1287610604