- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS
  - MagnifyImage
  - MinifyImage
  - ResizeImage
  - SampleImage
  - ScaleImage

# NAME

zoom - Methods to Resize an Image

# SYNOPSIS

Image * MagnifyImage( const Image *image, ExceptionInfo *exception );

Image * MinifyImage( const Image *image, ExceptionInfo *exception );

Image * ResizeImage( Image *image, const unsigned long columns, const unsigned long rows, const FilterType filter, const double blur, ExceptionInfo *exception );

Image * SampleImage( const Image *image, const unsigned long columns, const unsigned long rows, ExceptionInfo *exception );

Image * ScaleImage( const Image *image, const unsigned long columns, const unsigned long rows, ExceptionInfo *exception );

# FUNCTION DESCRIPTIONS

## MagnifyImage

> MagnifyImage() is a convenience method that scales an image proportionally to twice its size.

The format of the MagnifyImage method is:

> Image *MagnifyImage ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  exception:
    Return any errors or warnings in this structure.

## MinifyImage

> MinifyImage() is a convenience method that scales an image proportionally to half its size.

The format of the MinifyImage method is:

> Image *MinifyImage ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  exception:
    Return any errors or warnings in this structure.

## ResizeImage

> ResizeImage() scales an image to the desired dimensions with one of these filters:

      Bessel   Blackman   Box
      Catrom   Cubic      Gaussian
      Hanning  Hermite    Lanczos
      Mitchell Point      Quandratic
      Sinc     Triangle

Most of the filters are FIR (finite impulse response), however, Bessel, Gaussian, and Sinc are IIR (infinite impulse response). Bessel and Sinc are windowed (brought down to zero) with the Blackman filter.

> ResizeImage() was inspired by Paul Heckbert's zoom program.

The format of the ResizeImage method is:

> Image *ResizeImage ( Image *image, const unsigned long columns, const unsigned long rows, const FilterType filter, const double blur, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  columns:
    The number of columns in the scaled image.

  rows:
    The number of rows in the scaled image.

  filter:
    Image filter to use.

  blur:
    The blur factor where > 1 is blurry, < 1 is sharp.

  exception:
    Return any errors or warnings in this structure.

## SampleImage

> SampleImage() scales an image to the desired dimensions with pixel sampling. Unlike other scaling methods, this method does not introduce any additional color into the scaled image.

The format of the SampleImage method is:

> Image *SampleImage ( const Image *image, const unsigned long columns, const unsigned long rows, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  columns:
    The number of columns in the sampled image.

  rows:
    The number of rows in the sampled image.

  exception:
    Return any errors or warnings in this structure.

## ScaleImage

> ScaleImage() changes the size of an image to the given dimensions.

The format of the ScaleImage method is:

> Image *ScaleImage ( const Image *image, const unsigned long columns, const unsigned long rows, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  columns:
    The number of columns in the scaled image.

  rows:
    The number of rows in the scaled image.

  exception:
    Return any errors or warnings in this structure.