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

首頁 > 編程 > C# > 正文

C#無損高質量壓縮圖片代碼

2020-01-24 00:40:12
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C#無損高質量壓縮圖片的具體代碼,供大家參考,具體內容如下

/// 無損壓縮圖片  /// <param name="sFile">原圖片</param>  /// <param name="dFile">壓縮后保存位置</param>  /// <param name="dHeight">高度</param>  /// <param name="dWidth"></param>  /// <param name="flag">壓縮質量(數字越小壓縮率越高) 1-100</param>  /// <returns></returns>   public static 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 = 0, sH = 0;    //按比例縮放   Size tem_size = new Size(iSource.Width, iSource.Height);    if (tem_size.Width > dHeight || tem_size.Width > dWidth)   {     if ((tem_size.Width * dHeight) > (tem_size.Width * dWidth))     {       sW = dWidth;       sH = (dWidth * tem_size.Height) / tem_size.Width;     }     else     {       sH = dHeight;       sW = (tem_size.Width * dHeight) / tem_size.Height;     }   }   else   {     sW = tem_size.Width;     sH = tem_size.Height;   }    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();   //以下代碼為保存圖片時,設置壓縮質量    EncoderParameters ep = new EncoderParameters();   long[] qy = new long[1];   qy[0] = flag;//設置壓縮的比例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();   } } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤台县| 梅河口市| 凤庆县| 固原市| 阳谷县| 长兴县| 博爱县| 遵义市| 东兴市| 临沭县| 桂林市| 康保县| 晋州市| 湛江市| 额敏县| 杭州市| 武宣县| 宁陵县| 成都市| 敦煌市| 涞源县| 辉县市| 徐闻县| 于田县| 江油市| 张家港市| 鄂托克前旗| 金湖县| 兰西县| 福贡县| 方城县| 灌南县| 罗定市| 德令哈市| 府谷县| 崇文区| 平塘县| 文昌市| 仪征市| 荔波县| 紫阳县|