NAME
    Data::Image - Data object for image.

SYNOPSIS
     use Data::Image;

     my $obj = Data::Image->new(%params);
     my $author = $obj->author;
     my $comment = $obj->comment;
     my $dt_created = $obj->dt_created;
     my $height = $obj->height;
     my $id = $obj->id;
     my $size = $obj->size;
     my $url = $obj->url;
     my $url_cb = $obj->url_cb;
     my $width = $obj->width;

METHODS
  "new"
     my $obj = Data::Image->new(%params);

    Constructor.

    *       "author"

            Image author.

            It's optional.

            Default value is undef.

    *       "comment"

            Image comment.

            It's optional.

            Default value is undef.

    *       "dt_created"

            Date and time the image was created.

            Value must be DateTime object.

            It's optional.

    *       "height"

            Image height.

            It's optional.

            Default value is undef.

    *       "id"

            Image id.

            It's optional.

            Default value is undef.

    *       "size"

            Image size.

            It's optional.

            Default value is undef.

    *       "url"

            URL (location) of image.

            It's optional.

            Default value is undef.

    *       "url_cb"

            URL callback. To get URL from code.

            It's optional.

            Default value is undef.

    *       "width"

            Image width.

            It's optional.

            Default value is undef.

    Returns instance of object.

  "author"
     my $author = $obj->author;

    Get image author.

    Returns string.

  "comment"
     my $comment = $obj->comment;

    Get image comment.

    Returns string.

  "dt_created"
     my $dt_created = $obj->dt_created;

    Get date and time the image was created.

    Returns DateTime object.

  "height"
     my $height = $obj->height;

    Get image height.

    Returns number.

  "id"
     my $id = $obj->id;

    Get image id.

    Returns number.

  "size"
     my $size = $obj->size;

    Get image size.

    Returns number.

  "url"
     my $url = $obj->url;

    Get URL (location) of image.

    Returns string.

  "url_cb"
     my $url_cb = $obj->url_cb;

    Get URL callback.

    Returns code.

  "width"
     my $width = $obj->width;

    Get image width.

    Returns number.

ERRORS
     new():
             From Mo::utils:
                     Parameter 'author' has length greater than '255'.
                             Value: %s
                     Parameter 'comment' has length greater than '1000'.
                             Value: %s
                     Parameter 'dt_created' must be a 'DateTime' object.
                             Value: %s
                             Reference: %s
                     Parameter 'height' must a number.
                             Value: %s
                     Parameter 'id' must a number.
                             Value: %s
                     Parameter 'size' must a number.
                             Value: %s
                     Parameter 'url' has length greater than '255'.
                             Value: %s
                     Parameter 'url_cb' must be a code.
                             Value: %s
                     Parameter 'width' must a number.
                             Value: %s

             From Mo::utils::URI:
                     Parameter 'url' doesn't contain valid location.
                             Value: %s

EXAMPLE
     use strict;
     use warnings;

     use Data::Image;
     use DateTime;

     my $obj = Data::Image->new(
             'author' => 'Zuzana Zonova',
             'comment' => 'Michal from Czechia',
             'dt_created' => DateTime->new(
                     'day' => 1,
                     'month' => 1,
                     'year' => 2022,
             ),
             'height' => 2730,
             'size' => 1040304,
             'url' => 'https://upload.wikimedia.org/wikipedia/commons/a/a4/Michal_from_Czechia.jpg',
             'width' => 4096,
     );

     # Print out.
     print 'Author: '.$obj->author."\n";
     print 'Comment: '.$obj->comment."\n";
     print 'Height: '.$obj->height."\n";
     print 'Size: '.$obj->size."\n";
     print 'URL: '.$obj->url."\n";
     print 'Width: '.$obj->width."\n";
     print 'Date and time the image was created: '.$obj->dt_created."\n";

     # Output:
     # Author: Zuzana Zonova
     # Comment: Michal from Czechia
     # Height: 2730
     # Size: 1040304
     # URL: https://upload.wikimedia.org/wikipedia/commons/a/a4/Michal_from_Czechia.jpg
     # Width: 4096
     # Date and time the photo was created: 2022-01-01T00:00:00

DEPENDENCIES
    Mo, Mo::utils, Mo::utils::URI.

SEE ALSO
    Data::Commons::Image
        Data object for Wikimedia Commons image.

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

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

    <http://skim.cz>

LICENSE AND COPYRIGHT
    © 2022-2024 Michal Josef Špaček

    BSD 2-Clause License

VERSION
    0.04