圖片處理之質量壓縮

有時候,一張圖片太大,致使頁面的加載速度太慢,因而咱們就要對圖片進行處理,而對它進行壓縮無疑是很好的方法。小程序

下面是一個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

相關文章
相關標籤/搜索