title: Reducing image size (further) with ASP.NET
body: <p>I am using the below code to reduce the size of my image. It works fine. My problem is, a 3MB picture will scale down to 470~ KB. Is there a way to reduce the file size even further? I played with all possible settings regarding interpolationmode, smoothingmode and the others but the resulting image is still around 400 kb. These images are used in a newspaper website and therefore should preserve their qualities too.</p>
  
  <hr>
  
  <p>EDIT 
  My image dimensions are 4000 x 3000 pixels and I am scaling down to 650 px wide.</p>
  
  <hr>
  
  <pre><code>Dim image_p As Image = _
      ResizeImage(img, Convert.ToInt32(pWidth), Convert.ToInt32(pHeight))
  
  Private Function ResizeImage( _
      original_img As Bitmap, width As Integer, height As Integer) As Bitmap
          Dim callback As New Image.GetThumbnailImageAbort(AddressOf GetThumbAbort)
  
          Dim new_img As New Bitmap(original_img, width, height) 'new blank bitmap'
  
          Dim g As Graphics = Graphics.FromImage(new_img)
  
          g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High
          g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
          g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed
          g.CompositingQuality = _
              System.Drawing.Drawing2D.CompositingQuality.HighSpeed
          g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver
          g.DrawImage(original_img, 0, 0, width, height)
          Return new_img
  End Function
  </code></pre>