2012-06-22 135 views
1

我正在爲攝影師創建一個投資組合網站。如何處理大圖像大小?

我面臨將照片大小調整爲小的問題。如果我縮小了尺寸,許多質量都會丟失。我如何壓縮圖片以免失去質量?

我的代碼:

using (var input = new Bitmap(imageFile.InputStream)) 
      { 
       int width; 
       int height; 
       if (input.Width > input.Height) 
       { 
        width = 411 * input.Width/input.Height; 
        height = 411; 
       } 
       else 
       { 
        height = 411; 
        width = 411 * input.Width/input.Height; 
       } 

       using (var thumb = new Bitmap(width, height)) 
       using (var graphic = Graphics.FromImage(thumb)) 
       { 
        graphic.InterpolationMode = InterpolationMode.HighQualityBicubic; 
        graphic.SmoothingMode = SmoothingMode.AntiAlias; 
        graphic.PixelOffsetMode = PixelOffsetMode.HighQuality; 

        graphic.DrawImage(input, 0, 0, width, height); 
        using (var output = System.IO.File.Create(imagePath)) 
        { 
         thumb.Save(output, ImageFormat.Jpeg); 
        } 
       } 
      } 
+0

你想放大圖片嗎? – Botonomous

+1

[高質量圖像縮放C#]的可能重複(http://stackoverflow.com/questions/249587/high-quality-image-scaling-c-sharp) –

回答

2

可能取得更好的成績做逐步調整大小(如10-25%的每一步)。嘗試保存在無損格式(如ImageFormat.Png)。

如果質量是非常重要的手動轉換在適當的照片編輯工具可能是正確的做法。