[spip] function image_recadre_avec_fallback() image_recadre (...)

ARNO* a écrit le 24/04/2021 à 20:00 :

spip/spip
-
Par ARNO*, le 24 avril 2021 à 19h59min :

function image_recadre_avec_fallback()

image_recadre si gd2 et plugin filtres activé, sinon image_passe_partout usuel

*Modifié*
     ecrire/inc/filtres_images_mini.php
     prive/objets/liste/articles.html

Détails : function image_recadre_avec_fallback() (712e4b82) · Validations · spip / spip · GitLab

Bonjour ARNO*,

Sur les SPIP que j'utilise, c'est convert que je mets pour éviter les pages blanches sur images trop grandes :wink:
Donc, la meta image_process vaut convert

Et tous les filtres images fonctionnent sur ces sites :wink:
Et je viens de le vérifier en installant ImageMagick (qui contient convert.exe) en suivant les instructions de

sous Windows + Laragon.

Donc, alors que j'ai GD2, installé, avec le code que tu as produit, au niveau d'une rubrique : ecrire/?exec=rubrique&id_rubrique=11
Si dans ecrire/?exec=configurer_avancees j'indique GD2
Les images sont recadrées en suivant les indications de Centre Images (merci pour la mise à jour pour SPIP 3.3).
Par contre, si j'indique Convert ou ImageMagik, les images sont justes redimensionnées, mais pas recadrées.

Bref, ça fonctionne, mais c'est vraiment dommage de ne pas utiliser GD2 alors qu'il est là.

Est-ce que quelque chose comme
if(extension_loaded('gd')){/*loaded*/}
ne ferait pas le travail efficacement ?

Il y a aussi
if (!function_exists('imagecreatetruecolor')) echo('GD2 extension not loaded');

Qu'en dis-tu ?

Je ne sais pas si on fait ça maintenant, mais dans mon souvenir on ne s’autorisait pas à faire fonctionner les filtres graphiques dans l’espace privé sur la simple foi d’un détection de GD2, parce qu’on avait à l’époque des configurations pourries sur les serveurs. Je veux bien supposer que ce n’est plus le cas, mais je ne sais pas ce qu’on a décidé pour SPIP.

Parce que pour l’instant, je vois que dans _image_creer_vignette (qui est le fondement de la réduction des images), on se base encore sur le choix «manuel» de la méthode de réduction, et pas sur du tout automatique: ligne 1368 de filtres_images_lib_mini.php:

$process = $GLOBALS[‹ meta ›][‹ image_process ›];

Dis autrement: de ce que j’en comprends, pour l’instant, la politique dans l’espace privé est de ne pas activer automatiquement GD2 sans choix manuel (et «visuel») dans la page de config avancée de la part des webmestres.

Mais si on me dit que désormais on fait autrement, je veux bien remplacer mon test sur lire_meta(image_process) par un function_exists(imagecreatetruecolor), évidemment.

Arnaud

arno@rezo.net a écrit le 26/04/2021 à 08:41 :

Je ne sais pas si on fait ça maintenant, mais dans mon souvenir on

ne

s’autorisait pas à faire fonctionner les filtres graphiques dans l’espace privé sur la simple foi d’un détection de GD2, parce qu’on avait à l’époque des configurations pourries sur les serveurs. Je veux bien supposer que ce n’est plus le cas, mais je ne sais pas ce qu’on a décidé pour SPIP.

Parce que pour l’instant, je vois que dans _image_creer_vignette (qui est le fondement de la réduction des images), on se base encore sur le choix «manuel» de la méthode de réduction, et pas sur du tout automatique: ligne 1368 de filtres_images_lib_mini.php:

$process = $GLOBALS['meta']['image_process'];

Dis autrement: de ce que j’en comprends, pour l’instant, la politique dans l’espace privé est de ne pas activer automatiquement GD2 sans choix manuel (et «visuel») dans la page de config avancée de la part des webmestres.

Mais si on me dit que désormais on fait autrement, je veux bien remplacer mon test sur lire_meta(image_process) par un function_exists(imagecreatetruecolor), évidemment.

"On", ça ne saurait être moi :wink: