none
如何在使圖片盡量不失真壓縮大小? RRS feed

  • 問題

  • 我想在使用者上傳圖片的時候壓縮大小(不然預覽同一頁多個圖片會很慢)

    但是用了我下面的程式碼,當壓縮率過大失真很嚴重

    不知道是否有辦法在不失真下壓縮圖片

    謝謝各位先進

    底下是我程式碼

    static void imgcompression(Image img_in)
     {
    
        ImageCodecInfo jpeg = null;
        ImageCodecInfo[] imgtypes = ImageCodecInfo.GetImageEncoders();
        foreach (ImageCodecInfo jpegtype in imgtypes)
         {
            if (jpegtype.FormatID == ImageFormat.Jpeg.Guid)
             {
                EncoderParameters encParams = new EncoderParameters(1);
    
                for (long quality_rate= 10; quality_rate<= 100; quality_rate+=10)
                 {
                    EncoderParameter encParam = new EncoderParameter(Encoder.Quality, quality_rate);
                    encParams.Param[0] = encParam;
                    string strPath = Path.Combine(imgPath, "" + quality + ".jpeg");
                    FileStream fs = new FileStream(strPath, FileMode.Create, FileAccess.Write);
                                img_in.Save(fs, jpgEncoder, encParams);
                    fs.Flush();
                    fs.Close();
                 }
             }
    
         }
     }

    2013年3月18日 下午 01:19

解答

所有回覆