0

フォームの一部をキャプチャしてビットマップ変数に描画したい...
drawToBitmap() 関数を使用して設定するrectangle(12,40,...)と、関数はフォームの 0,0 ポイントからキャプチャするだけです。
これを解決するにはどうすればよいですか?
あなたの助けのためのタンク

Bitmap bmp = new Bitmap(((int)maxWidth)+2, ((int)maxHeight)+2);
this.DrawToBitmap(bmp,new Rectangle(0,40,((int)maxWidth)+2, ((int)maxHeight)+2));
4

1 に答える 1

2

さて、ここで行ったことは、新しいフォームを作成し、ボタンと画像ボックスを追加したことです。ボタンをクリックすると、フォームから長方形が切り取られ、画像ボックスに描画されます。

画像を100ピクセル左に移動する-100,0を使用しました。

 private void button1_Click(object sender, EventArgs e)
    {
        //The image we will be drawing on then passing to picturebox
        Bitmap bmp=new Bitmap(pictureBox1.Width,pictureBox1.Height);

        using (Graphics g=Graphics.FromImage(bmp))
        {
            using (Bitmap b = new Bitmap(this.Width, this.Height))
            {
                //captures the Form screenschot, and saves it into Bitmap b
                this.DrawToBitmap(b, new Rectangle(0, 0, this.Width, this.Height));

                //this draws the image from Bitmap b starting at the specified location to Bitmap bmp 
                g.DrawImageUnscaled(b, -100, 0);
            }
        }
        //this assigns pictureBox1 the bmp Bitmap.
        pictureBox1.Image = bmp;
    }
于 2012-05-17T13:31:24.603 に答える