downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Imagick::rollImage> <Imagick::resetImagePage
Last updated: Fri, 20 Nov 2009

view this page in

Imagick::resizeImage

(PECL imagick 2.0.0)

Imagick::resizeImageScales an image

Description

bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )
Warning

This function is currently not documented; only its argument list is available.

Scales an image to the desired dimensions with a filter.

Note: The behavior of the parameter bestfit changed in Imagick 3.0.0. Before this version given dimensions 400x400 an image of dimensions 200x150 would be left untouched. In Imagick 3.0.0 and later the image would be scaled up to size 400x300 as this is the "best fit" for the given dimensions. If bestfit parameter is used both width and height must be given.

Parameters

columns

Width of the image

rows

Height of the image

filter

Refer to the list of filter constants.

blur

The blur factor where > 1 is blurry, < 1 is sharp.

bestfit

Optional fit parameter. Defaults to false.

Return Values

Returns TRUE on success.

Changelog

Version Description
2.1.0 Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.



Imagick::rollImage> <Imagick::resetImagePage
Last updated: Fri, 20 Nov 2009
 
add a note add a note User Contributed Notes
Imagick::resizeImage
michael dot heca at gmail dot com
16-Nov-2009 01:18
Use setImageOpacity(1.0) before resizing, for proper handling of transparency in png and gif.
dennis at gofolo dot com
08-Nov-2009 02:32
Having to do alot of resizing, i needed to know the speeds of the different resize filters.
This was how long it took to resize a 5906x5906 JPEG image to 1181x1181.

FILTER_POINT took: 0.334532976151 seconds
FILTER_BOX took: 0.777871131897 seconds
FILTER_TRIANGLE took: 1.3695909977 seconds
FILTER_HERMITE took: 1.35866093636 seconds
FILTER_HANNING took: 4.88722896576 seconds
FILTER_HAMMING took: 4.88665103912 seconds
FILTER_BLACKMAN took: 4.89026689529 seconds
FILTER_GAUSSIAN took: 1.93553304672 seconds
FILTER_QUADRATIC took: 1.93322920799 seconds
FILTER_CUBIC took: 2.58396601677 seconds
FILTER_CATROM took: 2.58508896828 seconds
FILTER_MITCHELL took: 2.58368492126 seconds
FILTER_LANCZOS took: 3.74232912064 seconds
FILTER_BESSEL took: 4.03305602074 seconds
FILTER_SINC took: 4.90098690987 seconds

I ended up choosing CATROM as it has a very similar result to LANCZOS, but is significantly faster.
billadoid [at ' at '] ['gmail' here] dot com
05-Nov-2008 07:50
<?php
$height
=$thumb->getImageHeight();
$width=$thumb->getImageWidth();
if (
$height < $width)
 
$thumb->scaleImage(800,0);
 else
 
$thumb->scaleImage(0,600);
?>

Something like this will cause a fatal error when you try to create a thumbnail of an uploaded picture of.. 10x15000 resolution.

It will work nice only if you enable the 'fit':

<?php
$height
=$thumb->getImageHeight();
$width=$thumb->getImageWidth();
if (
$width > 800)
$thumb->scaleImage(800,600,true);
if (
$height > 600)
$thumb->scaleImage(800,600,true);
?>

Note: Maybe I misspelled something or though something wrong. i.e. you could think why would I create a thumbnail of 800x600.

Hope it will helps s/o
andrabr at gmail dot com
24-Aug-2007 11:08
blur:  > 1 is blurry, < 1 is sharp

To create a nice thumbnail (LANCZOS is the slowest filter):

<?php

$thumb
= new Imagick();
$thumb->readImage('myimage.gif');    $thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy();

?>

Or, a shorter version of the same:

<?php

$thumb
= new Imagick('myimage.gif');

$thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');

$thumb->destroy();

?>

Imagick::rollImage> <Imagick::resetImagePage
Last updated: Fri, 20 Nov 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites