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();
    }

  • 相关阅读:
    伪元素改变placeholder占位符属性的默认样式实例页面
    盒子中margin重叠问题
    html或CSS的图片如何随着网页界面的缩小或放大跟着左右移动 ?
    相对路径与绝对路径
    Html5 Canvas小知识
    dl,dt,dd怎么用
    雪碧图
    linux--mysql图形工具 tora
    apt-get彻底卸载删除软件http://www.tennfy.com/1518.html
    【转】 httpclient 模拟浏览器动作需注意的cookie和HTTP头等信息
  • 原文地址:https://www.cnblogs.com/ainidewen/p/4556543.html
Copyright © 2011-2022 走看看