ASP.NET\MVC 解決C#上傳圖片質量下降,圖片模糊,水印有雜點的問題


對圖片處理這一塊不是很懂,自己寫不出來,這些年一直沒有停止找一個上傳圖片質量不下降,加水印不會導致模糊和水印周邊產生雜點的代碼。

網上基本上99%的代碼處理圖片質量都是下面這兩句:

//設置質量
//gWater.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
//gWater.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

我明確告訴你,球雞兒的卵用都沒得!!!!!!!!!

今天在一個論壇回帖中看到一個回帖:

bitPhoto.Save(Response.OutputStream, ImageFormat.Jpeg);
圖像保存的問題,默認的質量是60%

            EncoderParameter p;
            EncoderParameters ps;

            ps = new EncoderParameters(1);

            p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
            ps.Param[0] = p;

            ImageCodecInfo ii = GetCodecInfo("image/jpeg");
            bitPhoto.Save(Response.OutputStream,ii,ps);

        private ImageCodecInfo GetCodecInfo(string mimeType)
        {
            ImageCodecInfo[] CodecInfo = ImageCodecInfo.GetImageEncoders();
            foreach (ImageCodecInfo ici in CodecInfo)
            {
                if (ici.MimeType == mimeType) return ici;
            }
            return null;
        }

馬上寫一個水印測試,圖片質量完全沒有變化,文字水印周邊沒有一顆雜點,太感謝這位大哥了!

實際上就是在save的時候傳入兩個參數,我們之前做的上傳基本上是直接save或者save的時候傳個圖片類型就完事兒了,問題就出在這里。

這里有篇圖片上傳的文章也不錯:http://www.cnblogs.com/lonelyxmas/p/3563959.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM