Price: US$79.00

Pay securely at PayPal. On the confirmation page, click Continue to product download page to download this product immediately.

Having a PayPal account is optional; if you don't want to sign up, look for the link which says Don't have a PayPal account?

Ultimate Image Resizer

Overview

A simple .NET component that resizes images in a variety of modes with stunning output quality and small file sizes.

Features

  • Resized images are of much higher quality and smaller file sizes than the built-in .NET image resizing API provides by default.
  • Choose from four resize modes.
  • Can detect images which do not have the correct orientation and rotate them.
  • Read and write images in multiple formats.

Comparison to default .NET image resizing

The built-in .NET image resizing API produces jagged images with large file sizes. The following example shows a sample image resized using the default .NET settings and compares the output to the Ultimate Image Resizer output.

Sample image: Queenstown.jpg; 640x480 pixels; 105KB

Source photo of an outdoor scene
Comparison of .NET resizing vs. the Ultimate Image Resizer
API Code Output image File size
.NET resizing

C#

using (Bitmap source =  
  new Bitmap("Queenstown.jpg"))
{ 
  using (Image thumbnail =  
    source.GetThumbnailImage(320, 240, 
      null, IntPtr.Zero)) 
  { 
    thumbnail.Save("Queenstown_2.jpg"); 
  } 
}

VB

Using source As New Bitmap("Queenstown.jpg")
    Using thumbnail As Image = _
            source.GetThumbnailImage(320, 240,
                         Nothing, IntPtr.Zero)
        thumbnail.Save("Queenstown_2.jpg")
    End Using
End Using
 
Resized image using the default .NET settings 166KB
.NET resizing
with encoding

C#

ImageCodecInfo jpegCodec = null; 
ImageCodecInfo[] codecs =  
  ImageCodecInfo.GetImageEncoders(); 
foreach (ImageCodecInfo codec in codecs)
{ 
  if (codec.MimeType == "image/jpeg")
  { 
    jpegCodec = codec; 
    break; 
  } 
} 
if (jpegCodec == null) 
  throw new Exception( 
    "Could not find the jpeg codec."); 

Encoder encoder = Encoder.Quality; 
EncoderParameters encoderParams =  
  new EncoderParameters(1);
EncoderParameter encoderParam =  
  new EncoderParameter(encoder, 100L);
encoderParams.Param[0] = encoderParam; 
             
using (Bitmap source =  
  new Bitmap("Queenstown.jpg"))
{ 
  using (Image thumbnail =  
    source.GetThumbnailImage(320, 240, 
      null, IntPtr.Zero)) 
  { 
    thumbnail.Save("Queenstown_4.jpg", 
      jpegCodec, encoderParams); 
  } 
}

VB

Dim jpegCodec As ImageCodecInfo = Nothing
Dim codecs As ImageCodecInfo() = _
    ImageCodecInfo.GetImageEncoders()
For Each codec As ImageCodecInfo In codecs
    If codec.MimeType = "image/jpeg" Then
        jpegCodec = codec
        Exit For
    End If
Next
If jpegCodec Is Nothing Then
    Throw New Exception( _
        "Could not find the jpeg codec.")
End If

Dim encoder As Encoder = Encoder.Quality
Dim encoderParams As New EncoderParameters(1)
Dim encoderParam As New EncoderParameter( _
    encoder, 100L)
encoderParams.Param(0) = encoderParam

Using source As New Bitmap("Queenstown.jpg")
    Using thumbnail As Image = _
            source.GetThumbnailImage(320, 240, _
                Nothing, IntPtr.Zero)
        thumbnail.Save("Queenstown_4.jpg", _
            jpegCodec, encoderParams)
    End Using
End Using
 
Resized image using the default .NET settings 39KB
Ultimate Image Resizer

C#

using (IImageResizer resizer =  
  new ImageResizer("Queenstown.jpg"))
{ 
  resizer.Resize(320, 240);
  resizer.SaveToDisk( 
    OutputImageFormat.Jpeg, 
    "Queenstown_3"); 
}

VB

Using resizer As IImageResizer = _
        New ImageResizer("Queenstown.jpg")
    resizer.Resize(320, 240)
    resizer.SaveToDisk(OutputImageFormat.Jpeg, _
        "Queenstown_3")
End Using
 
Resized image using the Ultimate Image Resizer 15KB

The results are clear, with the Ultimate Image Resizer generating superior image quality at less than 10% the size of default .NET resizing.

If you need high-quality images generated with small file sizes, a flexible range of resize modes, and a simple, fully documented API to code against, then the choice is simple: the Ultimate Image Resizer.