(PECL imagick 2.0.0)
Imagick::resizeImage — Redimensionne une image
$columns
, int $rows
, int $filter
, float $blur
[, bool $bestfit = FALSE
[, bool $legacy = FALSE
]] ) : boolRedimensionne une image aux dimensions désirées, avec un filtre.
Note: Le comportement du paramètre
bestfita changé avec Imagick 3.0.0. Avant cette version, fournir les dimensions 400x400 à une image de dimensions 200x150 faisait que la partie gauche était inchangée. Avec Imagick 3.0.0 et suivants, l'image est réduite à la taille 400x300, sachant que c'est le meilleur résultat pour ces dimensions. Si le paramètrebestfitest utilisé, la largeur et la hauteur doivent être fournies.
columnsLa largeur de l'image cible.
rowsLa hauteur de l'image cible.
filterUne constante de filtre.
blurLe facteur de flou, où > 1 est flou, et < 1 est net.
bestfitParamètre optionnel de fit.
Retourne TRUE en cas de succès.
| Version | Description |
|---|---|
| 2.1.0 | Ajout d'un paramètre optionnel de fit. Cette méthode supporte maintenant la mise à l'échelle proportionnelle. Passez zéro comme valeur de paramètre pour une mise à l'échelle proportionnelle. |
Exemple #1 Exemple avec Imagick::resizeImage()
<?php
function resizeImage($imagePath, $width, $height, $filterType, $blur, $bestFit, $cropZoom) {
// Le facteur de flou où > 1 correspond à totalement flou, et < 1 correspond à fort.
$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();
}
?>