diff --git a/ecrire/inc/filtres_images_lib_mini.php b/ecrire/inc/filtres_images_lib_mini.php index ba4536affde999e22f3a58c30738b2238c648daf..7dea39bdaad1ed535bdd5532d838c23d57af1229 100644 --- a/ecrire/inc/filtres_images_lib_mini.php +++ b/ecrire/inc/filtres_images_lib_mini.php @@ -532,7 +532,7 @@ function _image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process='AUTO', // imagemagick en ligne de commande else if ($process == 'convert') { define('_CONVERT_COMMAND', 'convert'); - define ('_RESIZE_COMMAND', _CONVERT_COMMAND.' -quality 85 -resize %xx%y! %src %dest'); + define ('_RESIZE_COMMAND', _CONVERT_COMMAND.' -quality '._IMG_CONVERT_QUALITE.' -resize %xx%y! %src %dest'); $vignette = $destination.".".$format_sortie; $commande = str_replace( array('%x', '%y', '%src', '%dest'), @@ -555,7 +555,7 @@ function _image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process='AUTO', if ($process == 'imagick') { $vignette = "$destination.".$format_sortie; $handle = imagick_readimage($image); - imagick_resize($handle, $destWidth, $destHeight, IMAGICK_FILTER_LANCZOS, 0.75); + imagick_resize($handle, $destWidth, $destHeight, IMAGICK_FILTER_LANCZOS, _IMG_IMAGICK_QUALITE / 100); imagick_write($handle, $vignette); if (!@file_exists($vignette)) { spip_log("echec imagick sur $vignette"); @@ -936,4 +936,4 @@ class phpthumb_functions { } -?> \ No newline at end of file +?> diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 61c36e2f273b01476fa6d386d5e3bc6079b1eac0..ab5716e31f092d37b07e7a940998ef69f62f27c5 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1409,6 +1409,13 @@ function spip_initialisation_suite() { define('_IMG_MAX_WIDTH', 0); # largeur en pixels define('_IMG_MAX_HEIGHT', 0); # hauteur en pixels + // Qualite des images calculees automatiquement. C'est un nombre entre 0 et 100, meme pour imagick (on ramene a 0..1 par la suite) + if (!defined('_IMG_QUALITE')) define('_IMG_QUALITE', 85); # valeur par defaut + if (!defined('_IMG_GD_QUALITE')) define('_IMG_GD_QUALITE', _IMG_QUALITE); # surcharge pour la lib GD + if (!defined('_IMG_CONVERT_QUALITE')) define('_IMG_CONVERT_QUALITE', _IMG_QUALITE); # surcharge pour imagick en ligne de commande + // Historiquement la valeur pour imagick semble differente. Si ca n'est pas necessaire, il serait preferable de garder _IMG_QUALITE + if (!defined('_IMG_IMAGICK_QUALITE')) define('_IMG_IMAGICK_QUALITE', 75); # surcharge pour imagick en PHP + define('_COPIE_LOCALE_MAX_SIZE',16777216); // poids en octet // qq chaines standard @@ -1476,7 +1483,6 @@ function spip_initialisation_suite() { # au dela de 5500000 on considere que php n'est pas limite en memoire pour cette operation # les configurations limitees en memoire ont un seuil plutot vers 1MPixel define('_IMG_GD_MAX_PIXELS', (isset($GLOBALS['meta']['max_taille_vignettes'])&&$GLOBALS['meta']['max_taille_vignettes']<5500000)?$GLOBALS['meta']['max_taille_vignettes']:0); - define('_IMG_GD_QUALITE', 85); @define('_MEMORY_LIMIT_MIN',10); // en Mo // si on est dans l'espace prive et si le besoin est superieur a 8Mo (qui est vraiment le standard)