(PECL imagick 2.0.0)
Imagick::resizeImage — Scales an image
$columns
, int $rows
, int $filter
, float $blur
[, bool $bestfit
= false
] )Scales an image to the desired dimensions with a filter.
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ă parametrulbestfit
este utilizat, trebuie furnizate atât lățimea, cât și înălțimea.
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.
Întoarce TRUE
în caz de succes.
Versiune | Descriere |
---|---|
2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling. |
Example #1 Imagick::resizeImage()
<?php
function resizeImage($imagePath, $width, $height, $filterType, $blur, $bestFit, $cropZoom) {
//The blur factor where > 1 is blurry, < 1 is sharp.
$imagick = new \Imagick(realpath($imagePath));
$imagick->resizeImage($width, $height, $filterType, $blur, $bestFit);
$cropWidth = $imagick->getImageWidth();
$cropHeight = $imagick->getImageHeight();
if ($cropZoom) {
$newWidth = $cropWidth / 2;
$newHeight = $cropHeight / 2;
$imagick->cropimage(
$newWidth,
$newHeight,
($cropWidth - $newWidth) / 2,
($cropHeight - $newHeight) / 2
);
$imagick->scaleimage(
$imagick->getImageWidth() * 4,
$imagick->getImageHeight() * 4
);
}
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>