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
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
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
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
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
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
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
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
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
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
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
filtre |image_negatif

Photo originale de l’écureuil glouton par Gilles Gonthier

updated on 2 October 2019

Discussion

5 discussions

  • 2

    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

    Reply to this message

  • 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.

    Reply to this 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

    Reply to this 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}.

    Reply to this 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 ?

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom