我發佈了這個其他主題,得到了一些溫和的回覆,但儘管答案解決了問題的質量方面,但他們還是以kb爲單位創建了圖像大小的另一個問題。 Asp.net image resizing qualityAsp.net在kb中縮小了圖像大小
這是問題。
我有一個2MB的圖像,我想減少到480px寬度。
我用三種不同的方式來調整其大小:
1)在文件上傳是把這個代碼:
System.IO.Stream st = FileUploadPost.PostedFile.InputStream;
myImage = System.Drawing.Image.FromStream(st);
thumb = myImage.GetThumbnailImage(newWidth, newHeight, null, System.IntPtr.Zero);
thumb.Save(myPath);
優點:在KB大小變小(大約80KB)。
缺點:視覺質量是可怕的
2)在文件上傳跑這個代碼(解決方案提供上提後):
Bitmap newImg = new Bitmap(newWidth, newHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Graphics newGraphic = Graphics.FromImage(newImg);
newGraphic.DrawImage(myImage, 0, 0, newWidth, newHeight);
newGraphic.Dispose();
newImg.Save(myPath);
優點:外觀質量好
缺點:尺寸繼續非常大(約400kb)
3)使用Windows Paint軟件和「手動」將圖像縮小到480px寬度
個優點:的優點都1)和2) - >視覺質量好,尺寸減小到大約80KB
的問題是:
什麼是再現第3項行爲的代碼(良好的視覺質量和更小的尺寸在kb)?
感謝
嘗試http://imageresizing.net/ – luke2012