zoukankan      html  css  js  c++  java
  • asp.net 图片质量压缩(不改变尺寸)


    private static 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;
    }

    /// <summary>
    /// 图片压缩(降低质量以减小文件的大小)
    /// </summary>
    /// <param name="srcBitmap">传入的Bitmap对象</param>
    /// <param name="destStream">压缩后的Stream对象</param>
    /// <param name="level">压缩等级,0到100,0 最差质量,100 最佳</param>
    public static void Compress(Bitmap srcBitmap, Stream destStream, long level)
    {
    ImageCodecInfo myImageCodecInfo;
    Encoder myEncoder;
    EncoderParameter myEncoderParameter;
    EncoderParameters myEncoderParameters;

    // Get an ImageCodecInfo object that represents the JPEG codec.
    myImageCodecInfo = GetEncoderInfo("image/jpeg");

    // Create an Encoder object based on the GUID

    // for the Quality parameter category.
    myEncoder = Encoder.Quality;

    // Create an EncoderParameters object.
    // An EncoderParameters object has an array of EncoderParameter
    // objects. In this case, there is only one

    // EncoderParameter object in the array.
    myEncoderParameters = new EncoderParameters(1);

    // Save the bitmap as a JPEG file with 给定的 quality level
    myEncoderParameter = new EncoderParameter(myEncoder, level);
    myEncoderParameters.Param[0] = myEncoderParameter;
    srcBitmap.Save(destStream, myImageCodecInfo, myEncoderParameters);
    }

    /// <summary>
    /// 图片压缩(降低质量以减小文件的大小)
    /// </summary>
    /// <param name="srcBitMap">传入的Bitmap对象</param>
    /// <param name="destFile">压缩后的图片保存路径</param>
    /// <param name="level">压缩等级,0到100,0 最差质量,100 最佳</param>
    public static void Compress(Bitmap srcBitMap, string destFile, long level)
    {
    Stream s = new FileStream(destFile, FileMode.Create);
    Compress(srcBitMap, s, level);
    s.Close();
    }

  • 相关阅读:
    青蛙学Linux—Nginx配置文件详解
    ICEM二维网格
    ubuntu画面延迟问题解决
    plot over time
    fluent中UDF环境变量问题的三种解决方法
    stiff chemistry模型出现NaN错误
    壁面边界漏给条件引起的发散问题
    mfix添加文件后重新生成configure文件
    DEM反应不收敛问题
    多气体组分DEM流动的DMP并行内存错误
  • 原文地址:https://www.cnblogs.com/ainidewen/p/4556543.html
Copyright © 2011-2022 走看看