可以System.Drawing.Image tImg;
tImg = new Bitmap(20,20,System.Drawing.Imaging.PixelFormat.Format32bppRgb);
Graphics gp = Graphics.FromImage(tImg);
Rectangle r = new Rectangle(-10,-10,30,30);
gp.DrawImage(pictureBox1.Image,r);
tImg.Save("d:\\test.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);

解决方案 »

  1.   

    //
    //获取原始图片
    Bitmap bitmap=new Bitmap(Application.StartupPath +@"\pretty1.jpg");
    //设置范围
    Rectangle r =new Rectangle(10,10,20,20);
    //创建剪切后的Bitmap对象
        Bitmap bitmap1=new Bitmap(20,20);
    Graphics g1=Graphics.FromImage(bitmap1);
    g1.DrawImageUnscaled(bitmap,r);
    bitmap1.Save(Application.StartupPath +@"\p2.jpg");
      

  2.   

    我自己也做了个笨办法,谁需要就拿去用吧 public static  System.Drawing.Bitmap GetImage(System.Drawing.Bitmap img,int scrX,int scrY,int Width,int Height)
    {
    System.Drawing.Bitmap Bmp=new Bitmap(Width,Height);
    for (int i=0;i<=Width-1;i++)
    {
    for (int x=0;x<=Height-1;x++)
    {
    Bmp.SetPixel(i,x,img.GetPixel(scrX+i,scrY+x));
    }
    }
    return Bmp;
    }