---
name: "CGI::Uploader::Transform::ImageMagick"
section: "3pm"
platform: "linux"
package: "libcgi-uploader-perl"
version: "2.18-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/CGI::Uploader::Transform::ImageMagick"
---

# CGI::Uploader::Transform::ImageMagick(3pm)

generate thumbnails with ImageMagick

## NAME

CGI::Uploader::Transform::ImageMagick - generate thumbnails with ImageMagick

## METHODS

### gen\_thumb()

```
  use CGI::Uploader::Transform::ImageMagick;
```

As a class method:

```
 ($thumb_tmp_filename)  = CGI::Uploader::Transform::ImageMagick->gen_thumb({
    filename => $orig_filename,
           w => $width,
           h => $height
    });
```

Within a CGI::Uploader `"spec"`:

```
    gen_files => {
      my_thumb => gen_thumb({ w => $width, h => $height }),
    }
```

Looking for a different syntax? See "BACKWARDS COMPATIBILITY"

This function creates a copy of given image file and resizes the copy to the provided width and height.

`"gen_thumb"` can be called as object or class method. As a class method, there there is no need to call `"new()"` before calling this method.

Graphics::Magick is used as the first choice image service module. Image::Magick is tried next.

Input:

```
    filename - filename of source image
    w        - max width of thumbnail
    h        - max height of thumbnail
```

One or both  of `"w"` or `"h"` is required.

Output:\
     \- filename of generated tmp file for the thumbnail\
     \- the initialized image generation object. (You generally shouldn't need this)

## BACKWARDS COMPATIBILITY

These older, more awkward syntaxes are still supported:

As a class method:

```
 ($thumb_tmp_filename)  = CGI::Uploader::Transform::ImageMagick->gen_thumb(
    $orig_filename,
    [ w => $width, h => $height ]
    );
```

In a `"CGI::Uploader"` `"spec"`:

'my\_img\_field\_name' =\> {\
     transform\_method =\> \\&gen\_thumb,\
     params =\> \[ w =\> 100, h =\> 100 \],\
   }

1;
