Image.save(String, ImageCodecInfo, EncodeParameters)怎么用?
我需要保存为Jpeg格式,同时设置一些压缩系数.

解决方案 »

  1.   

    // 编码参数
    EncoderParameters params = new EncoderParameters (1);
     
    // 设置压缩质量
    params.Param[0] = new EncoderParameter (Encoder.Quality, 50);
     
    // 获取 JPEG 编码器
    ImageCodecInfo codec = GetEncoderInfo("image/jpeg");
     
    // 保存
    image.Save (filename, codec, params);
      

  2.   

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