各位大牛们,最近要做个压缩图片的功能,就是将几M的图片压缩到100kb 以内,且要确保图片的像素尺寸不变,不要失真,请问一下有什么好的办法啊?多多支招啊!3Q3Q在3Q啦。小弟剩下的积分不多,全献上啦

解决方案 »

  1.   

    EncoderParameters ep = null;
    ImageCodecInfo info = GetEncoderInfo("image/tiff");
    ep = new EncoderParameters(3);
                                                ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)EncoderValue.CompressionCCITT4);
                                                ep.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 0L);
                                                ep.Param[2] = new EncoderParameter(System.Drawing.Imaging.Encoder.ColorDepth, 1L);
    bitmap.Save(FileName, info, ep);
      

  2.   

    基本上只有JPG格式能做到这样大的压缩比。
      

  3.   

            
    private ImageCodecInfo GetEncoderInfo(string mimeType)
            {
                ImageCodecInfo[] encoders;
                encoders = ImageCodecInfo.GetImageEncoders();
                for (int j = 0; j < encoders.Length; ++j)
                {
                    if (encoders[j].MimeType == mimeType)
                        return encoders[j];
                }
                return null;
            }