Imagemagick resize to given size from center (with solution)

Author Message

Patrick Kaiser

Wednesday 14 October 2009 4:09:40 am

Hi,

I found a generic (1 step) solution to the problem of generating thumbnails meeting the following requirements:
1) Use a given size, e.g. 180 x 140
2) Resize from center, no matter if original image is landscape or portrait
3) Crop the rest

To use it just add the following lines in your image.ini.append.php

[ImageMagick]
Filters[]=thumbnail=-resize x%4 -resize %3x< -resize 50% -gravity center -crop %1x%2+0+0 +repage

Now you can use the defined filter in your image aliases:

The first two numbers are the x and y of your desired image size, the later two numbers are the double values of recent ones.

[yourAliasName]
Reference=reference
Filters[]
Filters[]=thumbnail=180;140;360;280

This will work with imagemagick versions below 6.3.8-3, if you have this or a newer version
you could take advantage of the newly introduced ^ (Fill-Area-Flag). An (untested) Filter could like:

[ImageMagick]
Filters[]=thumbnail1=-resize %1x%2^ -gravity center -extent %1x%2

 

Hope this saves some time for someone..


Best regards,

Patrick

*- pike

Thursday 15 October 2009 3:03:53 am

Thanks

From the top of my head - if i remember correctly - the above works for images with a ratio less then 1:2 or 2:1 (because of the algorithm used). which is fine 99.9% of the times.

The solution also zooms in a bit (50%?) on the image, and the caret option wouldn't. But actually, I think I like the zoom effect on a thumbnail.

$2c,
*-pike

---------------
The class eZContentObjectTreeNode does.

Sander van den Akker

Wednesday 20 January 2010 5:36:07 am

Thanks for sharing your filter. I can confirm that your suggested code for newer imagemagick versions works properly.

On regular images that is. I tried both filters on an image of 200x300 (width x height) pixels, but the thumbnail looks out of proportions. Does anyone know a solution for generating thumbnails of a stretched/any image?

eZ Publish certified developer
http://auth.ez.no/certification/verify/392313

Frederik Krautwald

Friday 19 November 2010 2:26:14 pm

Does anyone have a solution for this using GD?

Add, I got a solution. I will publish this later. If you can’t wait, PM me.

Frederik Krautwald
Executive Creative Director

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.