search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
Brian Cassidy > Algorithm-Scale2x > Algorithm::Scale2x
Module Version: 0.04

# NAME

Algorithm::Scale2x - Generic implementation of the Scale2x algorithm

# SYNOPSIS

```    use Algorithm::Scale2x;

# optionally exported
# use Algorithm::Scale2x qw( scale2x scale3x );

# To start, you must grab a pixel plus all 8 surrounding pixels
my @pixels = \$image->get_pixels( \$x, \$y );

# scale2x - returns a 2x2 grid of scaled pixels
my @result2x = Algorithm::Scale2x::scale2x( @pixels );

# scale3x - returns a 3x3 grid of scaled pixels
my @result3x = Algorithm::Scale2x::scale3x( @pixels );```

# DESCRIPTION

This module provides a generic implementation of the Scale2x and Scale3x algorithms. Scale2x is described as:

```    ...[a] real-time graphics effect able to increase the size of small bitmaps
guessing the missing pixels without interpolating pixels and blurring the images.```

# METHODS

## scale2x( @pixels )

Given a 3x3 grid of pixels (i.e color index numbers), it will expand the centre pixel into 4 new pixels (i.e. 2x scale).

```    +---+---+---+
| 0 | 1 | 2 |    +----+----+
+---+---+---+    | 4A | 4B |
| 3 | 4 | 5 | => +----+----+
+---+---+---+    | 4C | 4D |
| 6 | 7 | 8 |    +----+----+
+---+---+---+```

## scale3x( @pixels )

Given a 3x3 grid of pixels (i.e color index numbers), it will expand the centre pixel into 9 new pixels (i.e. 3x scale).

```    +---+---+---+    +----+----+----+
| 0 | 1 | 2 |    | 4A | 4B | 4C |
+---+---+---+    +----+----+----+
| 3 | 4 | 5 | => | 4D | 4E | 4F |
+---+---+---+    +----+----+----+
| 6 | 7 | 8 |    | 4G | 4H | 4I |
+---+---+---+    +----+----+----+```