spip/images | 20 commits
Par Cerdic, le 3 février 2025 à 17h34min :
fix: fournir un résultat aux bonnes dimensions si |image_masque ne sait pas traiter l’image source et que l’on masque sans positionnement (ie dans ce cas on retourne le masque et pas l’image source)
Modifié
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
refactor: re-ecriture propre des fonctions _image_masque_pixel_mode_xxx, fonction support _image_masque_merge_transparent_pixels() pour merger 2 pixels, qui est reutilisee presque dans tous les calculs, phpdoc
Modifié
filtres/images_lib.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
refactor: déplacer _image_masque_prepare_masque() dans filtres/images_lib
Modifié
filtres/images_lib.php
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
refactor: chaque masque est implémenté par une fonction _image_masque_pixel_mode_xxxx() qui reçoit la couleur du pixel de l’image et la couleur du pixel du masque et retourne la couleur du pixel résultat (la fonction peut renvoyer null pour indiquer que le pixel de l’image source est inchangé).
Cela permet par ailleurs de définir ses propres modes de fusion, il suffit d’implémenter la fonction de masque pixel _image_masque_pixel_mode_xxxx correspondante
Modifié
filtres/images_lib.php
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
docs: option repeat sur |image_masque
Modifié
filtres/images_transforme.php
Détails : docs: option repeat sur |image_masque (4adaa55b) · Validations · spip / images · GitLab
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
refactor: optimisation, si on est dehors du masque il n’y a rien a calculer ni a modifier sur l’image d’origine
Modifié
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
feat: le filtre |image_masque
prend une nouvelle option repeat
qui peut prendre les valeurs repeat-x
, repeat-y
, repeat
et no-repeat
et permet de configurer un placement répété du masque.
Il est ainsi possible de texturer une grande image avec un petit masque a motif recurrent
Modifié
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: afficher toutes les images sur cette page de test
Modifié
demo/filtres_images/oriente_selon_exif.html
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: tous les filtres doivent commencer par un appel à image_oriente_selon_exif(), meme si ils ne travaillent pas sur les dimensions de l’image, car ils perdent les infos exif et donc ensuite l’image est irremediablement mal orientée si on a pas corrigé avant
Modifié
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: passer par image intervention pour filtres_image_process_imagick_vignette_dist qui doit gerer proprement les exifs par lui meme
Modifié
filtres/image_process/imagick.php
Détails : fix: passer par image intervention pour... (ad53b083) · Validations · spip / images · GitLab
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: quand filtres_image_process_imagick_dist() ou filtres_image_process_convert_dist() sont appelée avec un argument true elles font un test extensif des extensions supportées en entrée et en sortie et stockent le résultat dans des meta pour pouvoir répondre rapidement le reste du temps
Ajouté
images/test.avif
Modifié
filtres/image_process/convert.php
filtres/image_process/imagick.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
feat: un filtre |image_supprime_exif qui permet de supprimer les exif d’une image (y compris exif orientation donc)
Modifié
filtres/images_transforme.php
images_fonctions.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: supprimer l’orientation imagick issue de exif quand on charge une image via intervention, pour avoir un comportement homogene gd2/imagick
Modifié
filtres/images_lib.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: optimiser |image_oriente_selon_exif en ne faisant rien egalement si il y a une info exif qui dit qu’on est dans le bon sens + declarer le filtre image
Modifié
filtres/images_transforme.php
images_fonctions.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
refactor: utiliser image intervention pour le calcul pixel a pixel de la version precise de |image_nb. C’est sensiblement plus lent que l’implémentation pure GD2, mais ça permet de respecter les profils si on utilise Imagick et d’homogénéiser le code. C’est normalement un usage de niche…
Modifié
filtres/images_lib.php
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: gerer les exceptions à la lecture de l’image via Imagick (format non supporté) ou lors de l’execution du filtre
Modifié
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: catcher les exceptions à la lecture de l’image, et en cas d’echec retourner null. Sur les fonctions appelantes prevoir le cas null, et interrompre le traitement du filtre
Modifié
filtres/images_lib.php
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: output sur image_flou ne se faisait pas en cas d’image SVG
Modifié
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
fix: apres une rotation avec imagick il faut reset la page sinon les crops a suivre se font par rapport à une mauvaise référence cf PHP: Imagick::rotateImage - Manual
Modifié
filtres/images_transforme.php
==============================
Par Cerdic, le 3 février 2025 à 17h34min :
refactor: utiliser image intervention pour |couleur_extraire
Modifié
filtres/images_lib.php