lundi 20 octobre 2008

Script-fu alphabet de stickers pour le scrap

Nous avions vu vomment appliquer un effet stickers, puis comment automatiser un traitement d'image grace au scripts-fu de Gimp.
En combinant ces deux tutos, nous obtenons un script pour réaliser un effet stickers sur du texte. Mais cette fois-ci nous allons plus loin! Ce script effet-stickers, va être utilisé pour générer des alphabets complets que vous pourrez distribuer en freebies pour le scrapbooking digital.


1.) Le principe d'utilisation est simple. Vous téléchargez le script.
2.) Vous le copiez (le fichier .scm) dans votre répertoire "scripts" du dossier d'installation de Gimp.
3.) Lancez Gimp!
4.) Dans le menu Exts -> Logos, deux nouvelles entrées sont apparues : Alphabet de stickers et Texte effet stickers. Vous l'aurez compris, le premier permet de créer un alphabet complet, le second d'appliquer un effet stickers à un mot.

La fenêtre de création d'un alphabet stickers :

freebies scrapbooking alphabet stickers tuto script-fuVous pouvez préciser la taille de la police, la police de caracatère à utiliser, la taille de la bordure blanche du stickers et enfin le répertoire de destination pour sauvegarder votre alphabet de stickers au format PNG transparent (tout prêt à coller sur vos compositions de scrap :) ).

La fenêtre de création d'un texte effet stickers :

effet stickers gimp tuto script gratuitLa même chose avec en plus le champ de texte pour saisir le texte sur lequel vous souhaitez appliquer l'effet.


Je ne rentre pas ici dans les détails du code (j'aurai pu le commenter je sais :p), des explications pourront être apportées dans les commentaires du billet.


Voici le code de ce script :

; Texte stickers
; Alphabet stickers

(define (apply-stickers-effet img logo-layer taille_bord)
(let* (
(width (car (gimp-drawable-width logo-layer)))
(height (car (gimp-drawable-height logo-layer)))
(layer1 (car (gimp-layer-new img width height RGBA-IMAGE "Layer 1" 100 NORMAL-MODE)))
)

(script-fu-util-image-resize-from-layer img logo-layer)
(gimp-layer-set-lock-alpha logo-layer TRUE)


(gimp-image-add-layer img layer1 1)
(gimp-edit-clear layer1)
(gimp-context-set-foreground '(0 0 0))
(gimp-edit-fill logo-layer FOREGROUND-FILL)

(gimp-selection-layer-alpha logo-layer)
(gimp-selection-grow img taille_bord)
(gimp-edit-fill layer1 WHITE-FILL)
(plug-in-autocrop-layer 0 img layer1)
(plug-in-autocrop 0 img layer1)


)

)

(define (save-png-file letter img dest)

(let* (
(drw (car (gimp-image-merge-visible-layers img 0)))
(file-name (string-append dest "/" letter ".png"))
)
(file-png-save RUN-NONINTERACTIVE img drw file-name file-name 0 0 0 0 0 0 0)
)
)

(define (effet-stickers text size font bordure destination)
(let* (
(img (car (gimp-image-new 256 256 RGB)))
(b-size (* size 0.2))
(text-layer (car (gimp-text-fontname img -1 0 0 text b-size TRUE size PIXELS font)))
)
(apply-stickers-effet img text-layer bordure)
;(gimp-display-new img)
(save-png-file text img destination)
(gimp-image-delete img)
)

)

(script-fu-register
"effet-stickers"
"Texte effet stickers"
"Crée un texte effet stickers"
"Skonce"
"Skonce"
"2008"
""
SF-STRING _"Text" ""
SF-ADJUSTMENT _"Font size (pixels)" '(100 2 1000 1 10 0 1)
SF-FONT _"Font" ""
SF-VALUE "Taille de la bordure" "5"
SF-DIRNAME "Destination" ""
)

(script-fu-menu-register "effet-stickers"
"/Xtns/Logos")

(define (alphabet-stickers size font bordure destination)
(let* (
(alphabet '("A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"))
)
(while (pair? alphabet)
(effet-stickers (car alphabet) size font bordure destination)
(set! alphabet (cdr alphabet))
)
)
)

(script-fu-register
"alphabet-stickers"
"Alphabet de stickers"
"Crée un alphabet avec un effet stickers"
"Skonce"
"Skonce"
"2008"
""
SF-ADJUSTMENT _"Font size (pixels)" '(100 2 1000 1 10 0 1)
SF-FONT _"Font" ""
SF-VALUE "Taille de la bordure" "5"
SF-DIRNAME "Destination" ""
)

(script-fu-menu-register "alphabet-stickers"
"/Xtns/Logos")


5 commentaires:

Anonyme a dit…

Génial merci
Cat

Lavande a dit…

Aussi génial que le précédent
Merci beaucoup

Lavande a dit…

Bon j'ai bien "texte de verre" dans mes scripts mais pas "stickers" et je comprend pas pourquoi, une idée ?

Skonce a dit…

Bonjour Lavande,

Ceci est lié au changement de gestion des menus dans la version Gimp 2.6.
Pour que le script stickers fonctionne, tu dois éditer le fichier stickers.scm placé dans ton répertoire scripts de Gimp et modifier la ligne :
(script-fu-menu-register "effet-stickers" "<Toolbox>/Xtns/Logos")
par
(script-fu-menu-register "effet-stickers" "<Image>/Filters/MesScripts")

et
(script-fu-menu-register "alphabet-stickers" "<Toolbox>/Xtns/Logos")
par
(script-fu-menu-register "alphabet-stickers" "<Image>/Filters/MesScripts")

Ainsi tu pourras utiliser ton script effet stickers en passant par le menu Filtres->MesScripts de la fenêtre Editeur d'image Gimp.

En fait l'ancien endroit ou l'on demandait à Gimp de placer les scripts n'existe plus dans les menus de la version 2.6.

Tiens moi au courant.
Si ça ne marche pas je mettrai une version du script corrigé à télécharger.

A+

Lavande a dit…

Super ça marche merci