国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#無損壓縮圖片

2020-01-24 00:41:57
字體:
供稿:網(wǎng)友

話不多說,請看代碼:

/// <summary>    /// 根據(jù)指定尺寸得到按比例縮放的尺寸,返回true表示以更改尺寸    /// </summary>    /// <param name="picWidth">圖片寬度</param>    /// <param name="picHeight">圖片高度</param>    /// <param name="specifiedWidth">指定寬度</param>    /// /// <param name="specifiedHeight">指定高度</param>    /// <returns>返回true表示以更改尺寸</returns>    private bool GetPicZoomSize(ref int picWidth, ref int picHeight, int specifiedWidth, int specifiedHeight)    {      int sW = 0, sH = 0;      Boolean isZoomSize = false;      //按比例縮放      Size tem_size = new Size(picWidth, picHeight);      if (tem_size.Width > specifiedWidth || tem_size.Height > specifiedHeight) //將**改成c#中的或者操作符號      {        if ((tem_size.Width * specifiedHeight) > (tem_size.Height * specifiedWidth))        {          sW = specifiedWidth;          sH = (specifiedWidth * tem_size.Height) / tem_size.Width;        }        else        {          sH = specifiedHeight;          sW = (tem_size.Width * specifiedHeight) / tem_size.Height;        }        isZoomSize = true;      }      else      {        sW = tem_size.Width;        sH = tem_size.Height;      }      picHeight = sH;      picWidth = sW;      return isZoomSize;    }    /// <summary>    /// 無損壓縮圖片    /// </summary>    /// <param name="sFile">原圖片</param>    /// <param name="dFile">壓縮后保存位置</param>    /// <param name="dHeight">高度</param>    /// <param name="dWidth">寬度</param>    /// <param name="flag">壓縮質(zhì)量 1-100</param>    /// <returns></returns>    public bool GetPicThumbnail(string sFile, string dFile, int dHeight, int dWidth, int flag)    {      System.Drawing.Image iSource = System.Drawing.Image.FromFile(sFile);      ImageFormat tFormat = iSource.RawFormat;      int sW = iSource.Width, sH = iSource.Height;      GetPicZoomSize(ref sW, ref sH, dWidth, dHeight);      Bitmap ob = new Bitmap(dWidth, dHeight);      Graphics g = Graphics.FromImage(ob);      g.Clear(Color.WhiteSmoke);      g.CompositingQuality = CompositingQuality.HighQuality;      g.SmoothingMode = SmoothingMode.HighQuality;      g.InterpolationMode = InterpolationMode.HighQualityBicubic;      g.DrawImage(iSource, new Rectangle((dWidth - sW) / 2, (dHeight - sH) / 2, sW, sH), 0, 0, iSource.Width, iSource.Height, GraphicsUnit.Pixel);      g.Dispose();      //以下代碼為保存圖片時,設(shè)置壓縮質(zhì)量      EncoderParameters ep = new EncoderParameters();      long[] qy = new long[1];      qy[0] = flag;//設(shè)置壓縮的比例1-100      EncoderParameter eParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qy);      ep.Param[0] = eParam;      try      {        ImageCodecInfo[] arrayICI = ImageCodecInfo.GetImageEncoders();        ImageCodecInfo jpegICIinfo = null;        for (int x = 0; x < arrayICI.Length; x++)        {          if (arrayICI[x].FormatDescription.Equals("JPEG"))          {            jpegICIinfo = arrayICI[x];            break;          }        }        if (jpegICIinfo != null)        {          ob.Save(dFile, jpegICIinfo, ep);//dFile是壓縮后的新路徑        }        else        {          ob.Save(dFile, tFormat);        }        return true;      }      catch      {        return false;      }      finally      {        iSource.Dispose();        ob.Dispose();      }    }

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持武林網(wǎng)!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临夏县| 南川市| 平利县| 射洪县| 屯留县| 柳江县| 昌宁县| 武川县| 蕲春县| 吴川市| 栖霞市| 宜兰市| 定边县| 新巴尔虎左旗| 平罗县| 易门县| 阿城市| 安康市| 阳高县| 固始县| 鄂州市| 松原市| 镇康县| 油尖旺区| 榕江县| 湛江市| 肥城市| 溆浦县| 湖北省| 蓬莱市| 广平县| 凤翔县| 名山县| 曲阜市| 宁蒗| 清丰县| 布尔津县| 钟祥市| 宝清县| 嘉兴市| 闽侯县|