(PECL imagick 2.0.0)
Imagick::resizeImage — Redimensionne une image
$columns
, int $rows
, int $filter
, float $blur
[, bool $bestfit
= false
] )Redimensionne une image aux dimensions désirées, avec un filtre.
Note: Le comportement du paramètre
bestfit
a 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ètrebestfit
est utilisé, la largeur et la hauteur doivent être fournies.
columns
La largeur de l'image cible.
rows
La hauteur de l'image cible.
filter
Une constante de filtre.
blur
Le facteur de flou, où > 1 est flou, et < 1 est net.
bestfit
Paramè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();
}
?>