Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site
Comme vous l'avez vu dans une page précédente, la définition de filtres en SVG est un peu lourde ... Avec Snap SVG c'est beaucoup plus simple, aussi simple qu'en CSS3.
Le créateur de Snap SVG s'est inspiré des filtres CSS mais en plus il propose "shadow" (ombrage). Ce qui est assez logique car la propriété CSS box-shadow ne peut pas s'appliquer à un élément SVG.
Dans tous les exemples qui suivent le code HTML se résume à la balise SVG. Instruction qui ne présente aucune difficulté. Donc je ne vous communique que le script (sans les balises début & fin SCRIPT).
Ici la zone de dessin SVG est référencée par la variable "paper". C'est l'usage dans la documentation officielle de Snap SVG.
Pour chaque type de filtre il y a une méthode. Pour un flou il s'agit de : Snap.filter.blur().
Il ne suffit pas de définir un filtre il faut aussi préciser qu'il s'applique au canevas : paper.filter(Snap.filter.blur())
On définit 5 filtres pour le canevas (référencé par la variable "s"). On utilise ici la méthode Snap.filter.hueRotate().
Le paramètre est une valeur comprise entre 0 degré et 360 degrés. Attention une rotation de 360° équivaut a une rotation de 0° c'est à dire l'original !
La valeur de référence est 1 ; si argument inférieur à 1 alors image assombrie (avec 0 : noir absolu) ; si argument est supérieur à 1 alors image éclaircie.
La valeur de référence est 1 ; si argument supérieur à 1 alors image plus contrastée ; si argument est égal à 0 alors affichage d'une zone grisée. Si le paramètre compris entre 1 et 0 alors perte de contraste.
Effet sépia : si paramètre vaut 1 alors sépia total ; si paramètre vaut 0 alors l'image filtrée correspond à celle d'origine.
Effet invert : l'argument ne peut prendre que deux valeurs : 1(négatif) ou 0 (image d'origine).
Effet grayscale (nuance de gris) : si le paramètre est 1 alors image en noir et blanc ; si paramètre vaut 0 alors aucun effet.