Algorithm-Scale2x

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


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 |
        +---+---+---+    +----+----+----+

lib/Algorithm/Scale2x.pm  view on Meta::CPAN

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.

=head1 METHODS

=head2 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 |    +----+----+
    +---+---+---+

lib/Algorithm/Scale2x.pm  view on Meta::CPAN

    }
    else {
        @E = ( $pixels[ 4 ] ) x 4;
    }

    return @E;
}

=head2 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 |
    +---+---+---+    +----+----+----+



( run in 0.543 second using v1.01-cache-2.11-cpan-5b529ec07f3 )