App-ImageMagickUtils

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

    result, but usually not present when enveloped result is an error
    response ($status_code is not 2xx). Fourth element (%result_meta) is
    called result metadata and is optional, a hash that contains extra
    information, much like how HTTP response headers provide additional
    metadata.

    Return value: (any)

  downsize_image
    Usage:

     downsize_image(%args) -> [$status_code, $reason, $payload, \%result_meta]

    Reduce image size, by default via compressing to JPEG quality 40 and
    downsizing to 1024p.

    This utility uses convert utility to compress an image into JPEG with
    default quality of 40 and downsized to 1024p (shortest side to 1024px).

    Output filenames are:

     ORIGINAL_NAME.q40.jpg

    or (if downsizing is done):

     ORIGINAL_NAME.1024p-q40.jgp

    This function is not exported.

    This function supports dry-run operation.

    Arguments ('*' denotes required arguments):

    *   delete_original => *bool*

        Delete (unlink) the original file after downsizing.

        See also the "trash_original" option.

    *   downsize_to => *str* (default: 1024)

        Downsizing will only be done if the input image's shortest side is
        indeed larger then the target downsize.

        To disable downsizing, set "--downsize-to" to '' (empty string), or
        specify on "--dont-downsize" on the CLI.

    *   files* => *array[filename]*

        (No description)

    *   quality => *int* (default: 40)

        Quality setting (for JPEG/PNG), 1 (best compression, worst quality)
        to 100 (least compression, best quality).

    *   skip_downsized => *bool* (default: 1)

        Skip previously downsized images.

        By default, when given a filename that looks like it's already
        downsized, e.g. "foo.1024-q40.jpg" or "foo.q40.jpg", will skip
        downsizing. The "--no-skip-downsized" option will process such
        filenames nevertheless.

    *   skip_whatsapp => *bool* (default: 1)

        Skip WhatsApp images.

        By default, assuming that WhatsApp already compresses images, when
        given a filename that matches a WhatsApp image filename, e.g.
        "IMG-20220508-WA0001.jpg" (will be checked using
        Regexp::Pattern::Filename::Type::Image::WhatsApp), will skip
        downsizing. The "--no-skip-whatsapp" option will process such
        filenames nevertheless.

    *   trash_original => *bool*

        Trash the original file after downsizing.

        This option uses the File::Trash::FreeDesktop module to do the
        trashing. Compared to deletion, with this option you can still
        restore the trashed original files from the Trash directory.

        See also the "delete_original" option.

    Special arguments:

    *   -dry_run => *bool*

        Pass -dry_run=>1 to enable simulation mode.

    Returns an enveloped result (an array).

    First element ($status_code) is an integer containing HTTP-like status
    code (200 means OK, 4xx caller error, 5xx function error). Second
    element ($reason) is a string containing error message, or something
    like "OK" if status is 200. Third element ($payload) is the actual
    result, but usually not present when enveloped result is an error
    response ($status_code is not 2xx). Fourth element (%result_meta) is
    called result metadata and is optional, a hash that contains extra
    information, much like how HTTP response headers provide additional
    metadata.

    Return value: (any)

FAQ
  I got error message "attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/426."
    See solutions like described in
    <https://stackoverflow.com/questions/52998331/imagemagick-security-polic
    y-pdf-blocking-conversion>

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/App-ImageMagickUtils>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-App-ImageMagickUtils>.

AUTHOR



( run in 2.024 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )