639,7 → 639,7 |
$img->modulateImage(100,0,100); // grayscale |
$img->blackThresholdImage("#0f0f0f"); |
$retour_ecriture_img = $img->writeImage($out); |
|
|
if ($retour_ecriture_img !== true) { |
error_log("Erreur d'écriture Imagick : [" . $chemin_image . "] vers [" . $out . "]"); |
$erreur_ecriture = true; |
652,7 → 652,6 |
$erreur_ecriture = true; |
} |
} catch (ImagickException $e) { |
echo "/i"; |
// En principe si on se trouve ici c'est que l'image est vide |
$erreur_ecriture = true; |
$image_sortie = false; |
681,7 → 680,6 |
$wcrop0 = round($ar*$hauteur_image_originale); |
$hcrop0 = $hauteur_image_originale; |
} else { |
// source AR wider than target |
// crop height to target AR |
$wcrop0 = $largeur_image_originale; |
$hcrop0 = round($largeur_image_originale/$ar); |
739,26 → 737,7 |
|
// écrasement de l'image par la version "croppée" |
$imgcp->cropImage($maxparam['w'], $maxparam['h'], $maxparam['x'], $maxparam['y']); |
// retailler correctement si au moins une des dimensions de l'image produite est |
// inférieure aux dimensions demandées |
$geo = $imgcp->getImageGeometry(); |
$ratio_la = $geo['width'] / $largeur_vignette; |
$ratio_ha = $geo['height'] / $hauteur_vignette; |
if ($ratio_la < 1 || $ratio_ha < 1) { |
// cas kipu - on agrandit au max la dimension ayant le ratio le plus faible |
// (= le plus d'écart avec la taille attendue) |
if ($ratio_la < $ratio_ha) { |
$imgcp->scaleImage($largeur_vignette, 0); |
} else { |
$imgcp->scaleImage(0, $hauteur_vignette); |
} |
// puis on recoupe en centrant à l'arrache - bizarre que le script ne fasse pas ça de base :-/ |
$geo = $imgcp->getImageGeometry(); |
$imgcp->cropImage($largeur_vignette, $hauteur_vignette, max(0, floor($geo['width'] / 2 - $largeur_vignette / 2)), max(0, floor($geo['height'] / 2 - $hauteur_vignette / 2))); |
} else { |
// cas général |
$imgcp->scaleImage($largeur_vignette, $hauteur_vignette, false); |
} |
$imgcp->scaleImage($largeur_vignette, $hauteur_vignette); |
$imgcp->writeImage($out); |
|
// return image |
777,4 → 756,4 |
|
return $image_sortie; |
} |
} |
} |