Skip to content

michal-josef-spacek/Image-Select

Repository files navigation

NAME
    Image::Select - Selecting image from images directory.

SYNOPSIS
     use Image::Select;
     my $obj = Image::Select->new(%parameters);
     my $type = $obj->create($output_path);
     my ($width, $height) = $obj->sizes($new_width, $new_height);
     my $type = $obj->type($new_type);

METHODS
    "new(%parameters)"
             Constructor.

            *       "debug"

                     Debug mode.
                     Default value is 0.

            *       "height"

                     Height of image.
                     Default value is 1920.

            *       "loop"

                     Returns images in loop.
                     Default value is 0.

            *       "path_to_images"

                     Path to images.
                     It is required.
                     Default value is undef.

            *       "type"

                     Image type.
                     List of supported types: bmp, gif, jpeg, png, pnm, raw, sgi, tga, tiff
                     Default value is undef.

            *       "width"

                     Width of image.
                     Default value is 1080.

    "create($path)"
             Create image.
             Returns scalar value of supported file type.

    "sizes([$width, $height])"
             Set/Get image sizes.
             Returns actual width and height.

    "type([$type])"
             Set/Get image type.
             Returns actual type of image.

ERRORS
     new():
             No images.
             Parameter 'path_to_images' is required.
             Image type '%s' doesn't supported.
             Class::Utils:
                     Unknown parameter '%s'.

     create():
             Cannot read file '%s'.
                     Error, %s
             Cannot resize image from file '%s'.
                     Error, %s
             Cannot write file to '$path'.
                     Error, %s
             No file '%s'.
             Image type '%s' doesn't supported.

EXAMPLE1
     use strict;
     use warnings;

     use File::Spec::Functions qw(catfile);
     use File::Temp qw(tempfile tempdir);
     use Image::Random;
     use Image::Select;

     # Temporary directory to random images.
     my $tempdir = tempdir(CLEANUP => 1);

     # Create temporary images.
     my $rand = Image::Random->new;
     for my $i (1 .. 5) {
             $rand->create(catfile($tempdir, $i.'.png'));
     }

     # Object.
     my $obj = Image::Select->new(
             'path_to_images' => $tempdir,
     );

     # Temporary file.
     my (undef, $temp) = tempfile();

     # Create image.
     my $type = $obj->create($temp);

     # Print out type.
     print $type."\n";

     # Unlink file.
     unlink $temp;

     # Output:
     # bmp

EXAMPLE2
     use strict;
     use warnings;

     use File::Spec::Functions qw(catfile);
     use File::Temp qw(tempfile tempdir);
     use Image::Random;
     use Image::Select;

     # Temporary directory for random images.
     my $tempdir = tempdir(CLEANUP => 1);

     # Create temporary images.
     my $rand = Image::Random->new;
     for my $i (1 .. 5) {
             $rand->create(catfile($tempdir, $i.'.png'));
     }

     # Object.
     my $obj = Image::Select->new(
             'loop' => 0,
             'path_to_images' => $tempdir,
     );

     # Temporary file.
     my (undef, $temp) = tempfile();

     # Create image.
     while (my $type = $obj->create($temp)) {

             # Print out type.
             print $type."\n";
     }

     # Unlink file.
     unlink $temp;

     # Output:
     # bmp
     # bmp
     # bmp
     # bmp
     # bmp

DEPENDENCIES
    Class::Utils, Error::Pure, File::Basename, File::Find::Rule,
    File::Find::Rule::MMagic, Imager, List::MoreUtils.

SEE ALSO
    Image::Random
        Perl class for creating random image.

    Image::Select::Array
        Selecting image from list with checking.

    Image::Select::Date
        Selecting image from images directory by date.

REPOSITORY
    <https://github.com/michal-josef-spacek/Image-Select>

AUTHOR
    Michal Josef Špaček <mailto:skim@cpan.org>

    <http://skim.cz>

LICENSE AND COPYRIGHT
     © 2014-2020 Michal Josef Špaček
     BSD 2-Clause License

VERSION
    0.06

About

Perl class for creating image from images directory.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages