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

search for in the

Imagick::segmentImage> <Imagick::sampleImage
[edit] Last updated: Fri, 25 May 2012

view this page in

Imagick::scaleImage

(PECL imagick 2.0.0)

Imagick::scaleImageScales the size of an image

Descrierea

bool Imagick::scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Notă: Comportamentul parametrului bestfit s-a schimbat în Imagick 3.0.0. Anterior acestei versiuni în cazul dimensiunilor 400x400, o imagine cu dimensiunile 200x150 ar fi rămas neschimbată. În Imagick 3.0.0 și versiunile ulterioare imaginea va fi mărită la dimensiunile 400x300 deoarece aceasta este "cea mai bună potrivire" pentru dimensiunile date. Dacă parametrul bestfit este utilizat, trebuie furnizate atât lățimea, cât și înălțimea.

Parametri

cols

rows

bestfit

Valorile întoarse

Întoarce TRUE în caz de succes.

Erori/Excepții

Emite ImagickException în caz de eroare.

Istoria schimbărilor

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



Imagick::segmentImage> <Imagick::sampleImage
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes Imagick::scaleImage
peter at icb dot at 21-Sep-2009 11:25
If using the fit-parameter this function sometimes seems not to work when one of the two sizes (width or height) is the same size as the image has. For example:

<?php
$image
= new Imagick('800x480.jpg');
$image->scaleImage(640, 480, true);

// $image is still 800x480
?>

You have to calculate the new sizes yourself and use false for $fit in this case.
octave at web dot de 22-Jul-2009 08:57
When using the "fit = true" option, the image will only scale down, but never scale up:

<?php
$im
= new Imagick('1600x1200.jpg');

$im->scaleImage(2000, 1500, true); // => 1600x1200

$im->scaleImage(1000, 500, true); // => 666x500
?>
benford at bluhelix dot com 16-Jun-2009 02:38
If anyone finds "The other parameter will be calculated if 0 is passed as either param. " to be a bit confusing, it means approximately this:

<?php
$im
= new Imagick('example.jpg');
$im->scaleImage(300, 0);
?>

This scales the image such that it is now 300 pixels wide, and automatically calculates the height to keep the image at the same aspect ratio.

<?php
$im
= new Imagick('example.jpg');
$im->scaleImage(0, 300);
?>

Similarly, this example scales the image to make it 300 pixels tall, and the method automatically recalculates the image's height to maintain the aspect ratio.
vincent dot hoen at gmail dot com 02-Aug-2007 12:37
Here is an easy way to resize an animated gif :

$picture = new Imagick('animated_gif.gif');

foreach($picture as $frame){
    $frame->scaleImage($width, $height);
}

 
show source | credits | stats | sitemap | contact | advertising | mirror sites