-6

我有 c# 代码来裁剪图像。

当我裁剪图像(大小:191 KB,使用我的 c# 代码)时,结果(裁剪)图像的大小会增加(大小:2.44 MB)

请告诉我为什么裁剪后尺寸会增加..???

 Bitmap source = new Bitmap(@"F:\images\Row" + i + "Col" + j + ".jpg");
                Rectangle section = new Rectangle(new Point(0, 0), new Size(1362, 761));
                Bitmap CroppedImage = CropImage(source, section);
                CroppedImage.Save(@"file path\Row" + i + "Col" + j + ".jpg");



    public Bitmap CropImage(Bitmap source, Rectangle section)
    {
        // An empty bitmap which will hold the cropped image
        Bitmap bmp = new Bitmap(section.Width, section.Height);

        Graphics g = Graphics.FromImage(bmp);

        // Draw the given area (section) of the source image
        // at location 0,0 on the empty bitmap (bmp)
        g.DrawImage(source, 0, 0, section, GraphicsUnit.Pixel);

        return bmp;
    }
4

1 回答 1

6

心灵感应能力:您正在谈论磁盘上文件的大小,并将原始压缩文件(可能是 JPG)与以非压缩格式保存的裁剪版本(可能是 BMP)进行比较。

修复:以压缩格式保存裁剪的图像。

带有 2 个参数的Image.Save允许您指定格式(即,与您在示例中使用的一个参数版本不同)。

文章中的示例:

// Construct a bitmap from the button image resource.
Bitmap bmp1 = new Bitmap(typeof(Button), "Button.bmp");

// Save the image as a GIF.
bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);
于 2013-03-27T07:06:08.267 回答