The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

SYNOPSIS

 use Image::Select::Array;
 my $obj = Image::Select::Array->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.
  • image_list

     List of images in array reference.
     It is required.
     Default value is [].
  • 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.
         Image '%s' doesn't readable.
         Image type '%s' doesn't supported.
         Parameter 'image_list' must be reference to array with images.
         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::Array;

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

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

 # Object.
 my $obj = Image::Select::Array->new(
         'image_list' => \@images,
 );

 # 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::Array;

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

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

 # Object.
 my $obj = Image::Select::Array->new(
         'image_list' => \@images,
         'loop' => 0,
 );

 # 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, Image::Select.

SEE ALSO

Image::Random

Perl class for creating random image.

Image::Select

Selecting image from images directory.

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

 © 2015-2020 Michal Josef Špaček
 BSD 2-Clause License

VERSION

0.05