Plugin fonctions d’images : les filtres de traitement des images

Cet article présente les filtres de traitement des images du plugin Fonctions d’images.
Sur votre site, la page ?page=demo/fonctions_images&filtres=images vous permet de voir ces filtres en action.

Le plugin Fonctions d’images fournit des filtres pour le traitement des images et des couleurs qui complètent les filtres natifs de Spip (couleurs automatiques, traitement automatisés des images et images typographiques)
Ceux-ci sont essentiellement extraits du site Paris-Beyrouth, où l’on retrouve une explication détaillée pour la plupart des filtres.

Voir également les filtres de couleur.

image_saturer

Modifie la saturation d’une image.

syntaxe |image_saturer{1.2}
argument nombre entre 0 et 2
exemple #CHEMIN{images/ecureuil.jpg}|image_saturer{1.2}
filtre |image_saturer

image_niveaux_gris_auto

Corrige automatiquement les niveaux de gris d’une image.
Paris-Beyrout : Correction automatique des niveaux

Les zones trop claires ou trop sombres seront réajustées, produisant une image plus équilibrée.

syntaxe |image_niveaux_gris_auto
exemple #CHEMIN{images/ecureuil.jpg}|image_niveaux_gris_auto
filtre |image_niveaux_gris_auto

image_courbe

Modifie les courbes d’une image.
Paris-Beyrouth : Modifier les courbes d’une image.

Ce filtre vous permet de manipuler les coordonnées de 2 points ’virtuels’ de la courbe d’une image.

courbes d’une image

Prenons 2 points, le premier situé dans les zones sombres de l’image : 80=80 , le second dans les zones claires : 170=170 (l’échelle va de 0 à 255). Augmenter la coordonnée Y d’un point va éclaircir la zone, baisser cette coordonnée va l’assombrir.
Ainsi 80=30 / 170=220 va augmenter le contraste, tandis que 80=100 / 170=150 va produire l’effet inverse.
On peut travailler sur toutes les couches de couleur de l’image (rouge, vert ou bleu), ou sur une couche de couleur en particulier. Combiner plusieurs filtres image_courbe d’affilé permet d’obtenir des effets très variés.

syntaxe |image_courbe{rvb, 80=30, 170=220}
argument 1 rvb/r/v/b couche(s) de couleur(s) affectée(s)
argument 2 x=y nombres de 0 à 255
argument 3 x=y (optionnel) nombres de 0 à 255
exemple #CHEMIN{images/ecureuil.jpg}|image_courbe{rvb, 80=30, 170=220}
filtre |image_courbe

image_float

Fait en sorte que le texte épouse le contour d’une image transparente.
Paris-Beyrouth : Un habillage irrégulier

syntaxe |image_float{left, 10, ffffff}
argument 1 left/center/right position de l’image
argument 2 nombre marge en px autour de l’image
argument 3 #couleur (optionnel) couleur de fond de l’image
exemple #CHEMIN{images/ecureuil_decoupe.png}|image_float{left, 5}
filtre |image_float

image_contour_alpha

Trace le contour d’une image transparente.
Paris-Beyrout : Tracer les contours de transparence

syntaxe |image_contour_alpha{000000, 1}
argument 1 #couleur couleur du contour
argument 2 nombre épaisseur du contour
exemple #CHEMIN{images/ecureuil.jpg}|image_contour_alpha{000000, 1}
filtre |image_contour_alpha

image_sincity

Effet automatique : saturation contrastée + accentuation du rouge
Paris-Beyrouth : Welcome to Spip-City

syntaxe |image_sincity
exemple #CHEMIN{images/ecureuil.jpg}|image_sincity
filtre |image_sincity

image_estampage_alpha

Réalise des estampages.
Paris-Beyrouth : Des titres en relief

L’intérêt est d’utiliser ce filtre en combinaison avec d’autres. Voir le lien précédent pour une utilisation avec |image_typo.

syntaxe |image_estampage_alpha{1,1}
argument 1 nombre épaisseur en px
argument 2 nombre netteté
exemple #CHEMIN{images/ecureuil_decoupe.png}|image_estampage_alpha{1,1}
filtre |image_estampage_alpha

image_dispersion

Réalise des dispersions, des floutages.
Paris-Beyrouth : un filtre de dispersion graphique

Ce filtre se sert d’une image repère (= masque en noir & blanc), qui va indiquer comment déplacer les pixels de l’image de base.
noir = déplacement vers la gauche / en haut
gris = pas de déplacement
blanc = déplacement vers la droite / en bas

syntaxe |image_dispersion{url_image, 8, 8}
argument 1 url du masque
argument 2 nombre déplacement en x
argument 3 nombre déplacement en y
exemple #CHEMIN{images/ecureuil.jpg}|image_dispersion{#CHEMIN{images/disp-noir.png},8,8}
filtre |image_dispersion

image_merge

Superpose une image sur une autre.
Le filtre |image_masque de Spip permet d’obtenir le même résultat, et propose plus d’options.

syntaxe |image_merge{url_image, right, top}
argument 1 url image à superposer
argument 2 left/center/right placement horizontal
argument 3 top/middle/bottom placement vertical
exemple #CHEMIN{images/quadrillage.png}|image_merge{#CHEMIN{images/cercle.png},center,middle}
filtre |image_merge

image_negatif

Passe une image en négatif.
Le filtre |image_courbe{rvb, 0=255, 255=0} produira le même résultat.

syntaxe |image_negatif
exemple #CHEMIN{images/ecureuil.jpg}|image_negatif
filtre |image_negatif

Photo originale de l’écureuil glouton par Gilles Gonthier

Dernière modification de cette page le 22 octobre 2017

Discussion

5 discussions

  • 4

    Bonjour, je viens de passer mon site de SPIP 3.1 à 3.2.1. Étrangement le filtre |image_contour_alpha000000, 2 ne fonctionne plus alors que les autres (test de image_saturer et image_estampage_alpha1,1) fonctionnent parfaitement… Suis-je le seul dans le cas ? Une idée du problème ? D’ailleurs les filtres de traitement d’image n’apparaissent pas sur ma page /spip.php ?page=demo/fonctions_images. Il n’y a que les filtres de couleur qui apparaissent.
    Merci d’avance.

    • Hello,

      Peux-tu activer l’affichage des erreurs pour voir ce qu’il en est dans  ?page=demo/fonctions_images ?

      Dans mes_options.php, cf. https://www.spip.net/fr_article4453.html :

      error_reporting(E_ALL^E_NOTICE);
      ini_set ("display_errors", "On");
      define('SPIP_ERREUR_REPORT',E_ALL);

      En cas d’erreur php, donne aussi ta version de php (visible dans ?exec=info)

    • Merci de ta réponse rapide. Je crois avoir bien suivi tes instructions.

      PHP Version 5.6.24-0+deb8u1

      La page ?page=demo/fonctions_images ? réponds toujours de la même façon en affichant seulement les filtres de couleur. Par contre en cliquant sur les filtres images spécifiques dans le menu de gauche, on obtient invariablement le même message d’erreur :

      Fatal error : Call to undefined function couleur_hex_to_dec() in […]/plugins/auto/fonctions_images/v0.6.13/filtres/images_complements.php on line 544

      Cela aide-t-il ?

    • Il restait effectivement des appels à des fonctions devenues obsolètes suite à r102496.

      C’est corrigé dans la dernière version (+ ménage dans la page de démo).

    • Nickel, tout semble refonctionner comme avant ! Quelle rapidité ! Merci.

    Répondre à ce message

  • 1

    Bonjour,

    Je rencontre les notice suivante :

    Notice: Undefined variable: somme_bas in /plugins/fonctions_images/filtres/images_complements.php on line 260
    Notice: Undefined variable: somme_bas in /plugins/fonctions_images/filtres/images_complements.php on line 261
    Notice: Undefined variable: somme_haut in /plugins/fonctions_images/filtres/images_complements.php on line 264
    Notice: Undefined variable: somme_haut in /plugins/fonctions_images/filtres/images_complements.php on line 265

    Mais je trouve pas comment les corrigés

    • En voilà une autre
      Notice : Undefined offset : 0 in /plugins/fonctions_images/filtres/images_complements.php on line 261

    Répondre à ce message

  • 3

    J’ai une boucle DATA qui va chercher l’url d’une image
    #VALEURchemin/images/large

    Comment lui appliquer les filtres ?
    [(#LOGO_ARTICLE|image_negatif|image_saturer2)] => OK

    [(#VALEURchemin/images/large|image_negatif|image_saturer2)] => RIEN

    Répondre à ce message

  • 1

    ce qui serait bien utile c’est une fonction de watermark

    ou on indiquerais le nom du fichier que l’on souhaite sur-imprimer au document original et comme ca on pourrait ajouter des watermark automatic sur toutes nos images, comme des pros :)

    j’ai un petit filtre comme ca mais c’est une usine a gaz pour le moment. je suppose que tu es assez proche de pouvoir faire un truc sympa

    le point chiant c’est decider de la taille du watermark en fonction de la taille de l’image d’origine.

    • Ce doit déjà être possible avec |image_masque. Par exemple |image_masque{chemin/vers/watermark.png, mode=normal, bottom=5, right=5}.

    Répondre à ce message

  • 1

    Pourquoi « image_niveaux_gris_auto » alors que ça fait « image_niveaux_auto » ?

    • « image_niveaux_gris_auto » n’ajuste que la luminosité, « image_niveaux_auto » ajuste indépendamment chaque couche de couleur (cf. Paris-Beyrouth).
      Par contre ce dernier filtre n’est pas implémenté dans le plugin, j’ai essayé de la rajouter mais sans succès pour l’instant (je ne suis l’auteur ni des filtres, ni de leur mise en plugin).
      C’était bien ça la question ?

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom