Click here to Skip to main content
12,633,764 members (32,427 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: C# image
hi
I want reduce the size of and image
I google it and find a solution which is

        void compress(Image img,string path){
            EncoderParameter qualityParam =
                new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 60);
            ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
            EncoderParameters encoderParams = new EncoderParameters(1);
            encoderParams.Param[0] = qualityParam;
            
            img.Save("check1.jpg", jpegCodec, encoderParams);
        }
        private static ImageCodecInfo GetEncoderInfo(string mimeType)
        {
            // Get image codecs for all image formats 
            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

            // Find the correct image codec 
            for (int i = 0; i < codecs.Length; i++)
                if (codecs[i].MimeType == mimeType)
                    return codecs[i];
            return null;
        }



it reduce the size but it store the image to harddisk i dont want to store that image I want to use image futhur....
how could I do that please Help...??
Thanks
Posted 25-Aug-11 14:25pm
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

remove the
img.Save("check1.jpg", jpegCodec, encoderParams);
line and use the Image instance img to whatever you want. I guess you don't know how to use Image, but to get futher help on that front you'll need to tell us what you want to use it for. Display it in an UI (ASP.NET, Winforms, WPF)?
  Permalink  
Comments
Member 7907930 26-Aug-11 17:18pm
   
I want to send the image through LAN so thats why i need to compress the image...
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 2

this code not working for me when i save image to the my path its giving me this error
"Parameter is not valid."

this is my code
just calling this method
compress(b,@"d:\abcd.jpg")
static void compress(Image img, string path)
        {
            EncoderParameter qualityParam =
                new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 60);
            ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
            EncoderParameters encoderParams = new EncoderParameters(1);
            encoderParams.Param[0] = qualityParam;

            img.Save(path, jpegCodec, encoderParams);
        }
        private static ImageCodecInfo GetEncoderInfo(string mimeType)
        {
            // Get image codecs for all image formats 
            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

            // Find the correct image codec 
            for (int i = 0; i < codecs.Length; i++)
                if (codecs[i].MimeType == mimeType)
                    return codecs[i];
            return null;
        }
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web02 | 2.8.161208.2 | Last Updated 6 May 2015
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100