有時候,一張圖片太大,致使頁面的加載速度太慢,因而咱們就要對圖片進行處理,而對它進行壓縮無疑是很好的方法。小程序
下面是一個winform窗體小程序,它能夠壓縮一些圖片,固然,壓縮自己就會致使圖片失真,取捨根據實際狀況決定。好比說,個人手機網站上面,用戶上傳圖片時,若是圖片的大小大於200KB,那麼,就調用壓縮方法,間接性提高了對用戶的友好性。網站
下面是質量壓縮的代碼:ui
/// <summary> /// 圖片處理 /// </summary> /// <param name="oldfilepath">圖片地址</param> /// <returns></returns> public static string ImagesLevel(string oldfilepath) { try { string address = oldfilepath.Substring(oldfilepath.IndexOf('.')); string path = oldfilepath.Substring(0, oldfilepath.IndexOf('.')); var fileNewName = "_By紅領巾" + address; string uploadPath = path + fileNewName; System.Drawing.Image srcImg = System.Drawing.Image.FromFile(oldfilepath); Bitmap thumbImg = new Bitmap(srcImg); //質量壓縮 ImageCodecInfo jgpEncoder = GetEncoder(ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameters.Param[0] = myEncoderParameter; //保存小的新圖片 thumbImg.Save(uploadPath, jgpEncoder, myEncoderParameters); thumbImg.Dispose(); srcImg.Dispose(); return "1"; } catch (Exception) { return "0"; } } private static ImageCodecInfo GetEncoder(ImageFormat format) { ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); foreach (ImageCodecInfo codec in codecs) { if (codec.FormatID == format.Guid) { return codec; } } return null; }
最後,winform小程序長這個樣子:code
附上winform小程序Demo地址: http://pan.baidu.com/s/1jG1cV1korm
今天的分享就到這,很期待下次與大夥的分享,不要問我是誰,請叫我紅領巾。blog