=encoding utf8

=head1 NAME

Catalyst::View::GD::Thumbnail - Catalyst view to resize images for thumbnails.

=cut

=head1 SYNOPSIS

    Create a thumbnail view:

    script/myapp_create view Thumbnail Thumbnail

    Then in your controller:

    sub thumbnail :Local :Args(1) {
        my ($self, $c, $image_file_path) = @_;

        $c->stash->{thumbnail}{x}     = 100;
        # Create a 100px wide thumbnail

        #or

        $c->stash->{thumbnail}{y}     = 100;
        # Create a 100px tall thumbnail

        $c->stash->{thumbnail}{image} = $image_file_path;
        $c->forward('View::Thumbnail');
    }


=head1 DESCRIPTION

Catalyst::View::GD::Thumbnail resizes images to produce thumbnails, with options to set the desired x or y
dimensions. Uses the GD image library for those who are already using something more advanced than Imager.

=head2 Options

The view is controlled by setting the following values in the stash:

=over

=item image

Contains the file path for the full-size source image.

This is a mandatory option.

=item x

The width (in pixels) of the thumbnail.

This is optional, but at least one of the C<x> or C<y> parameters must be set.

=item y

The height (in pixels) of the thumbnail.

This is optional, but at least one of the C<x> or C<y> parameters must be set.

=back

=head2 Image formats

The generated thumbnails will always be produced in the same format (PNG, JPG, etc)
as the source image.

Catalyst::View::GD::Thumbnail uses the L<Image::Resize> module to crop and resize images,
so it accept any image format supported by I<Image::Resize>: bmp, gif, jpeg, png, xbm, xpm.

Please see the L<Image::Resize> documentation for more details and installation notes.

=head1 BUGS

Please report any bugs or feature requests to C<bug-catalyst-view-thumbnail at rt.cpan.org>, or through
the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-View-GD-Thumbnail>.  I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.

=head1 AUTHOR

Nick Logan (ugexe) <F<nlogan@gmail.com>>

=head1 LICENSE AND COPYRIGHT

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.