Why in a resize process, the System.Drawing.Bitmap.Save method create a larger file than original??

Posted on 2008-09-29
Medium Priority
Last Modified: 2013-11-07
I'm doing a resize function in c#, when I resize a file image with sizes: 2832x2128 weights 1.62MB, the result of doing Bitmap.Save is a file with sizes: 1024x768px, but the weight of the new file is 1.74MB, which i don't understand why happens.

the code is the following:
public System.Drawing.Bitmap CopyBitmap(Bitmap source, Rectangle part)
            Bitmap bmp = new Bitmap(part.Width, part.Height, source.PixelFormat);
            Graphics g = Graphics.FromImage(bmp);
            g.DrawImage(source, part.X, part.Y, part.Width, part.Height);
            return bmp;
public void redim()
Bitmap bmpOrig = new Bitmap("c:\\original.jpg"); // file 2832x2128, 1.62MB
            int newWidth = bmpOrig.Width;
            int newHeight = bmpOrig.Height;
            float relacionAspecto = 0;
            if (bmpOrig.Width > bmpOrig.Height)
                newWidth = 1024;
                relacionAspecto = (float)((float)bmpOrig.Height / bmpOrig.Width);
                newHeight = (int)Math.Round(newWidth * relacionAspecto);
                newHeight = 1024;
                relacionAspecto = (float)((float)bmpOrig.Width / bmpOrig.Height);
                newWidth = (int)Math.Round(newHeight * relacionAspecto);
            Bitmap nueva = CopyBitmap(bmpOrig, new Rectangle(0, 0, newWidth, newHeight));
            nueva.Save(@"C:\resize.jpg"); // file with 1024x768, 1.74MB

Open in new window

Question by:DavinchiSAT
LVL 86

Accepted Solution

Mike Tomlinson earned 2000 total points
ID: 22597885
It's because you are NOT saving the new image as a JPG!

    nueva.Save(@"C:\resize.jpg"); // file with 1024x768, 1.74MB

What your code above actually does is create a Bitmap file with a ".jpg" extension.  =\

You need to use the SECOND parameter to Bitmap.Save() to specify the JPEG format:

    nueva.Save(@"c:\resize.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

Expert Comment

ID: 22597895
Since you created the bitmap from a file, the image was decompressed using whatever format compressed the file to begin with.  Now you can use the overload() of BitMap.Save() to specify an ImageFormat property that changes the image type from JPEG to GIF or TIFF or PNG or BMP, etc.  Using the overload of BitMap.Save that takes Codec arguments may allow you greater control over the specific compression algorithm used to save the file.


Author Comment

ID: 22597929
it works!!!!!!!!!!!!!!!!!!!,


got the points!!

Featured Post

7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
High user turnover can cause old/redundant user data to consume valuable space. UserResourceCleanup was developed to address this by automatically deleting user folders when the user account is deleted.
The video provides a quick and easy steps to migrate MBOX file to well known Outlook PST and Office 365. Besides this, it also supports and migrates more than 20 email clients of MBOX which include AppleMail, Opera, Thunderbird and SeaMonkey effortl…
Through the video, you can check the migration process of Outlook PST file to PDF. Kernel for Outlook to PDF tool can convert Outlook emails with all attributes like Subject, To, From, Cc, Bcc and other folders such as Inbox, Outbox, Sent Items, Jun…

597 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question