ARNO*

Geek dilettante habitant une belle et grande propriété sur la Côte d’améthyste

  • Modif du filtre #SPIP |image_proportions, pour améliorer le comportement lié aux plugins image_responsive et centre_image (la modif est dans le #plugin image_responsive) :
    http://zone.spip.org/trac/spip-zone/browser/_plugins_/image_responsive
    http://zone.spip.org/trac/spip-zone/browser/_plugins_/centre_image

    Dans la version précédente, on pouvait recadrer et zoomer dans une image en fonction du centre d’intérêt de l’image (détectée automatiquement ou corrigée manuellement dans l’espace privé). À l’usage, je me suis rendu compte que du coup, le centre d’intérêt qui est rarement au centre de l’image, se retrouvait au centre de l’image retaillée. Par exemple, si on a un portrait, le centre d’intérêt est entre les yeux ; si on recadre/zoome, on se retrouve avec les yeux au centre de l’image, du vide au-dessus des cheveux et le menton coupé.

    Le comportement dorénavant, avec le critère focus, est plus malin : si les yeux du portrait sont par exemple dans le tiers haut de l’image d’origine, avec le recadrage ils seront encore dans le tiers haut de l’image résultante (c’est l’idée, mais c’est pondéré sinon c’est exagéré). L’effet est bien meilleur, et les images plus dynamiques.

    Si on veut recadrer avec le comportement précédent, il faut utiliser le critère focus-center.

    Voici une boucle pour tester avec les images d’un article :

    <BOUCLE_documents(DOCUMENTS){0,10}{par hasard}{id_article}>
            [(#FICHIER|image_proportions{1,1,focus,2}|image_reduire{200})]
            [(#FICHIER|image_proportions{1,1,focus-center,2}|image_reduire{200})]
    </BOUCLE_documents>

    Et une copie d’écran :

    On voit que les portraits avec le nouveau réglage (image de gauche de chaque paire) sont plus dynamiques et plus « naturels » que le recadrage avec le script précédent (image de droite, avec le nouveau critère focus-center).

    • Bonjour
      Je viens d’avoir un comportement étrange avec le filtre image_proportions (peut être aussi que je l’utilise mal :
      [(#FICHIER|image_proportions{16,9}
      |image_responsive{360/480/600/800}
      |inserer_attribut{alt,[(#_contenu_article:TITRE|attribut_html|couper{80})]})]
      Contexte : utilisation dans un formulaire d’upload, tout se passe bien avec des images avec largeur inférieure à 3600px. De 3700 à 4000, la page article est vide. Au delà de 4000px, page blanche.
      J’ai fais beaucoup de tests (largeur/poids) et ce n’est pas une question de poids.
      Quand erreur, le fichier error_log : [29-Dec-2015 17:38:22 America/New_York] PHP Fatal error : Allowed memory size of 125829120 bytes exhausted (tried to allocate 30798801 bytes) in /home/gwadloup/public_html/plugins-dist/filtres_images/filtres/images_transforme.php on line 301

      Quand j’enlève image_proportions{16,9}, tout fonctionne bien.
      J’utilise aussi le plugin géodiversité.

      Bonne année
      Cécile

    • comme suggéré sur irc, tu peux appliquer un filtre |image_reduire{1500} avant ce filtre-ci ; c’est moins gourmand en mémoire que image_proportions, donc ça devrait passer (et visiblement ça passe).