[images ↪ refactor_image_masque] 20 commits

spip/images | 20 commits

Par Cerdic, le 7 janvier 2025 à 12h22min :

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

Détails : fix: fournir un résultat aux bonnes dimensions si |image_masque ne sait pas... (c7cb0ff7) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h22min :

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

Détails : refactor: re-ecriture propre des fonctions _image_masque_pixel_mode_xxx,... (2d29dbdf) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h22min :

refactor: déplacer _image_masque_prepare_masque() dans filtres/images_lib

Modifié
filtres/images_lib.php
filtres/images_transforme.php

Détails : refactor: déplacer _image_masque_prepare_masque() dans filtres/images_lib (a50e751d) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h22min :

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

Détails : refactor: chaque masque est implémenté par une fonction... (fe0dc300) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h22min :

docs: option repeat sur |image_masque

Modifié
filtres/images_transforme.php

Détails : docs: option repeat sur |image_masque (ae7706b9) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h22min :

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

Détails : refactor: optimisation, si on est dehors du masque il n'y a rien a calculer ni... (395626de) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h22min :

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

Détails : feat: le filtre `|image_masque` prend une nouvelle option `repeat` qui peut... (73ae28d7) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

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

Détails : feat: un filtre |image_supprime_exif qui permet de supprimer les exif d'une... (2b4f9d4a) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

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

Détails : fix: supprimer l'orientation imagick issue de exif quand on charge une image... (ea383f92) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

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

Détails : fix: optimiser |image_oriente_selon_exif en ne faisant rien egalement si il y... (0b923196) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

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

Détails : refactor: utiliser image intervention pour le calcul pixel a pixel de la... (1c15bad3) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

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

Détails : fix: gerer les exceptions à la lecture de l'image via Imagick (format non... (ac388722) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

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

Détails : fix: catcher les exceptions à la lecture de l'image, et en cas d'echec... (ce69cf6f) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

fix: output sur image_flou ne se faisait pas en cas d’image SVG

Modifié
filtres/images_transforme.php

Détails : fix: output sur image_flou ne se faisait pas en cas d'image SVG (e2ba387e) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

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

Détails : fix: apres une rotation avec imagick il faut reset la page sinon les crops a... (24d7fa99) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

refactor: utiliser image intervention pour |couleur_extraire

Modifié
filtres/images_lib.php

Détails : refactor: utiliser image intervention pour |couleur_extraire (ac1fc8ef) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

refactor: utiliser Image Intervention pour image_oriente_selon_exif() + desactiver l’orientation automartique par Intervention lors du chargement de l’image

Modifié
filtres/images_lib.php
filtres/images_transforme.php

Détails : refactor: utiliser Image Intervention pour image_oriente_selon_exif() +... (9571ecce) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

chores: variables inutiles

Modifié
filtres/images_transforme.php

Détails : chores: variables inutiles (64ab3d0b) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

refactor: simplification du decodage de la position du masque, utiliser image_passe_partout plutot que calculs+image_reduire et optimisation perf en evitant d’agrandir le masque à la taille de l’image quand on veut le positionner. Il suffit dans ce cas de faire passer le offset_x et offset_y de lecture du masque et d’avoir un pixel par defaut là ou le masque n’est pas defini

Modifié
filtres/images_transforme.php

Détails : refactor: simplification du decodage de la position du masque, utiliser... (b407979f) · Validations · spip / images · GitLab

==============================
Par Cerdic, le 7 janvier 2025 à 12h21min :

refactor: filtre |image_masque utilise image intervention et fonctionne avec GD2 et Imagick

Modifié
filtres/images_transforme.php

Détails : refactor: filtre |image_masque utilise image intervention et fonctionne avec GD2 et Imagick (51e264c1) · Validations · spip / images · GitLab