C# 将Picturebox图像的一部分保存在Jpg文件中

C# 将Picturebox图像的一部分保存在Jpg文件中,c#,C#,我使用Erno提供的代码进行了一些修改,比如使用DrawRect而不是FillRect来绘制所选区域 您可以在此线程中看到示例代码: 但是,我在Jpg中保存所选区域时遇到一些问题。我使用了这段代码,但似乎Rect引用不适合这样做,我保存了一个附近的区域,而不是确切的位置 有人知道如何保存PictureBox图像上的确切位置吗 private void ButtonExport_Click(object sender, EventArgs e) { //e

我使用Erno提供的代码进行了一些修改,比如使用DrawRect而不是FillRect来绘制所选区域

您可以在此线程中看到示例代码:

但是,我在Jpg中保存所选区域时遇到一些问题。我使用了这段代码,但似乎Rect引用不适合这样做,我保存了一个附近的区域,而不是确切的位置

有人知道如何保存PictureBox图像上的确切位置吗

        private void ButtonExport_Click(object sender, EventArgs e)
    {
        //exporter la sélection
        Bitmap bmp = new Bitmap(Rect.Size.Width,Rect.Size.Height);
        using (Graphics gr = Graphics.FromImage(bmp))
        {
            gr.DrawImage(pictureBox1.Image, new Rectangle(0, 0, Rect.Size.Width, Rect.Size.Height), Rect, GraphicsUnit.Pixel);
        }
        bmp.Save(Directory.GetCurrentDirectory() + "\\Archives\\" + numFiche.ToString() + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
    }

当您选择除“正常”以外的任何内容时,不能忽略PictureBox.SizeMode属性。Google“c#裁剪picturebox图像”查找示例代码。请参见此处:。一个答案(Reza Aghaei’s)使用内部方法选择并裁剪缩放/拉伸图像的一部分。另一个(我的)提供了手工制作的工具来执行类似的任务。当您选择除正常以外的任何内容时,您不能忽略PictureBox.SizeMode属性。Google“c#裁剪picturebox图像”查找示例代码。请参见此处:。一个答案(Reza Aghaei’s)使用内部方法选择并裁剪缩放/拉伸图像的一部分。另一个(我的)提供手工工具来执行类似的任务。
        private void ButtonExport_Click(object sender, EventArgs e)
    {
        //exporter la sélection
        Bitmap bmp = new Bitmap(Rect.Size.Width,Rect.Size.Height);
        using (Graphics gr = Graphics.FromImage(bmp))
        {
            gr.DrawImage(pictureBox1.Image, new Rectangle(0, 0, Rect.Size.Width, Rect.Size.Height), Rect, GraphicsUnit.Pixel);
        }
        bmp.Save(Directory.GetCurrentDirectory() + "\\Archives\\" + numFiche.ToString() + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
    }