Skip to content

Refactor image_masque

cerdic requested to merge refactor_image_masque into master

Cette PR est un complément de !4741, seuls les 6 derniers commits sont spécifiques, au dessus de l'autre branche. Ils concerent un refactor plus profond du filtre |image_masque :

  • le code est découpé en sous fonctions pour être plus lisible et maintenable
  • on optimise le calcul en évitant de générer une grande image qui contient un petit masque pour gérer la superposition, on utilise plutot des offsets x et y pour lire les pixels du masque correspondant aux pixels de l'image et on gère le cas où l'on est plus dans le masque (sans effet dans ce cas)
  • on ajoute un parametre de position repeat qui permet de répéter le masque en repeat-x, repeat-y ou repeat, ce qui permet de texturer des grands images avec des petits masques de type pattern
  • chaque mode de masque est implémenté par une fonction _image_masque_pixel_mode_xxxx() qui fait le cacul de la fusion du pixel image et pixel masque pour le mode concerné.
  • en conséquence, il est possible d'ajouter ses propres mode de fusion en implémentant une fonction _image_masque_pixel_mode_xxxx() correspondante

Merge request reports

Loading