# NAME

GD::Image::Scale2x - Implementation of the Scale2x algorithm for the GD library

# SYNOPSIS

use GD;
use GD::Image::Scale2x;

my \$image = GD::Image->new( 'file.png' );

# scale2x, 3x, and 4x
my \$scaled2x = \$image->scale2x;
my \$scaled3x = \$image->scale3x;
my \$scaled4x = \$image->scale4x;

# scale a certain area
# (10, 10) to (30, 30)
my \$scaled = \$image->scale2x( 10, 10, 20, 20 );

# DESCRIPTION

This module implements the Scale2x algorithm (as well as 3x and 4x). From the Scale2x web site:

Scale2x is real-time graphics effect able to increase the size of small bitmaps
guessing the missing pixels without interpolating pixels and blurring the images.

The algorithm itself is explained at http://scale2x.sourceforge.net/algorithm.html. You can see some example results by looking through the test directory.

# METHODS

## scale2x( [ \$source_x, \$source_y, \$width, \$height ] )

Takes an image and produces one twice a big. From the Scale2x web site:

The effect works repeating a computation pattern for every pixel of the
original image. The pattern starts from a square of 9 pixels and expands
the central pixel computing 4 new pixels.

You can specify a portion of the original image by specifying a source x and y plus a width and height.

## scale3x( [ \$source_x, \$source_y, \$width, \$height ] )

A similar algorithm to scale2x, except that it produces a 9-pixel result.

## scale4x( [ \$source_x, \$source_y, \$width, \$height ] )

Same as scale2x done twice over.

• Algorithm::Scale2x

• GD

• http://scale2x.sourceforge.net/

# AUTHOR

Brian Cassidy <bricas@cpan.org>