Comparing different approaches

Below is a comparison of three different approaches to downscaling an image, with varying final result At the bottom of the page is an image downscaled to a set of sizes using the each approach. The source image can be found here .

Basic downscale

This is the straight-forward way to downscale an image. A scale render operation is applied that performs the scaling in one single step. Unfortunateliy, this results in images with very bad quality.

Fast downscale

In this approach, the image is downscaled in steps of 1/4 of the image size until the last scale step possible is larger than 1/4.

This fixes the main problem with the basic approach - downscaling a large image in one single step results in noisy edges of the image. This is especially a problem when the target image is small (smaller than 200px).

Good downscale

Here the image is blurred before the image is downscaled. This removes all high frequency components that otherwise would cause problems in the resulting image, as with the basic approach. The blur filter is a circular Gauss filter with a size that corresponds to the size ratio between the source and target images.

The blurring process is quite resource demanding, so for very large images (larger than 2000x2000 px), it is recommended to downscale using the fast downscale method as an intermediate step before using the good method to reach the final resoult.

Basic downcale Fast downscale Good downscale