程序窗体:

想要实现的效果就是点击保存后,只截取图片的区域,效果如下:

实现代码如下:
private void button3_Click(object sender, EventArgs e)
{
int with = this.Width;
int height = this.Height - panel1.Height;
Image im = new Bitmap(with, height);
Graphics g = Graphics.FromImage(im);
g.CopyFromScreen(this.PointToScreen(new Point(0, panel1.Height)), new Point(0, 0), new Size(with, height));
//第一个参数是取屏幕左上角,第二个参数是设置画布im中的对应坐标,第三个参数是大小了。
saveFileDialog1.Filter = "Image(*.jpg)|*.jpg";
saveFileDialog1.ShowDialog();
if (saveFileDialog1.FileName != "")
{
//Bitmap bt = new Bitmap(with, height);
//this.DrawToBitmap(bt,new Rectangle( 200,200,100,100)); //这种方法设置的起点参数无效,只有长度和宽度有效
//bt.Save(saveFileDialog1.FileName);
//bt.Dispose();
im.Save(saveFileDialog1.FileName);
}
g.Dispose();
im.Dispose();
}