I found this old script on the web,It was originaly written for Gimp 1.2 and then converted to 2.4.
I'm using 2.6.11 on WIN xp
;; ---------------------------------------------------------
;; *
;; * Script-Fu Safari
;; *
;; ---------------------------------------------------------
;; creative commons licence
;;
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ (define (apply-abcdugimp-safari-logo image drawable type relief gradient flou flou-r elevation conserv)
(let* (
;; conserver les outils dans des variables
(old-pat (car (gimp-context-get-pattern)))
(old-fg (car (gimp-context-get-foreground)))
(old-deg (car (gimp-context-get-gradient)))
;; connaitre les dimensions de l'image
(image-width (car (gimp-drawable-width drawable)))
(image-height (car (gimp-drawable-height drawable)))
(finale-image (car (gimp-image-new image-width image-height RGB)))
(texture-terra-image 0)
(texture-blueweb-image 0)
(texture-safari-image 0)
(texture-terra-layer 0)
(texture-blueweb-layer 0)
(texture-safari-layer 0)
(bump-image 0)
(bump-layer 0)
(duplicate-layer 0)
(flou-layer 0)
(mask 0)
(text-layer (car (gimp-layer-new-from-drawable drawable finale-image)))
(fond-map-layer 0) ;; map pour le relief
)
;; *******************************************************************************
;; PREPARATION CALQUE FINALE
;; *******************************************************************************
;; add layer
(if (> flou 0) ;; si un flou est demandé
(begin
(set! flou-layer (car (gimp-layer-new finale-image image-width image-height RGBA-IMAGE "Flou" 100 NORMAL-MODE)))
(gimp-image-add-layer finale-image flou-layer -1)
(gimp-edit-clear flou-layer)
)
)
(gimp-image-add-layer finale-image text-layer -1)
(gimp-drawable-set-name text-layer "Script-fu Safari")
(gimp-layer-set-offsets text-layer 0 0) ;; mettre le calques aux bonnes coordonnees
(gimp-context-set-foreground '(255 255 255))
(gimp-layer-set-preserve-trans text-layer 1) ;; preserve la transparence
(gimp-edit-fill text-layer 0) ;; remplir de blanc
;; *******************************************************************************
;; MAP
;; *******************************************************************************
;; dupliquer text-layer pour creer la map
(set! bump-image (car (gimp-image-duplicate finale-image)))
(set! fond-map-layer (car (gimp-layer-new bump-image image-width image-height RGB-IMAGE "Carte" 100 NORMAL-MODE))) ;; map pour le relief
(gimp-context-set-foreground '(0 0 0))
(gimp-image-add-layer bump-image fond-map-layer 1)
(gimp-edit-fill fond-map-layer 0) ;; remplir de noir
(set! bump-layer (car (gimp-image-flatten bump-image))) ;; aplatir l'image map
(plug-in-gauss-rle2 RUN-NONINTERACTIVE bump-image bump-layer flou-r flou-r) ;; flou gaussien
;; *******************************************************************************
;; REPOUSSAGE
;; *******************************************************************************
(plug-in-bump-map 1 finale-image text-layer bump-layer 135 elevation 3 0 0 0 0 TRUE FALSE 0) ;; repoussage
;; *******************************************************************************
;; TYPE D'EFFET
;; *******************************************************************************
;; base
(gimp-context-set-gradient gradient)
(if (= relief 1) ;; relief double
(begin
(plug-in-displace RUN-NONINTERACTIVE finale-image text-layer 10 10 TRUE TRUE bump-layer bump-layer 0)
)
)
(if (> flou 0) ;; si un flou est demandé
(begin
(gimp-selection-layer-alpha text-layer) ;; alpha vers selection
(gimp-edit-fill flou-layer FOREGROUND-FILL) ;; remplir de noir
(gimp-selection-none finale-image)
(plug-in-gauss-rle2 RUN-NONINTERACTIVE finale-image flou-layer flou flou) ;; flou gaussien
)
)
;; texture terra
(set! texture-terra-image (car (gimp-image-new image-width image-height RGB)))
(set! texture-terra-layer (car (gimp-layer-new texture-terra-image image-width image-height RGB "Pattern Terra" 100 NORMAL-MODE)))
(gimp-image-add-layer texture-terra-image texture-terra-layer -1)
(gimp-context-set-pattern "Terra")
(gimp-edit-fill texture-terra-layer PATTERN-FILL)
;; texture blue web
(set! texture-blueweb-image (car (gimp-image-new image-width image-height RGB)))
(set! texture-blueweb-layer (car (gimp-layer-new texture-blueweb-image image-width image-height RGB "Pattern Blue Web" 100 NORMAL-MODE)))
(gimp-image-add-layer texture-blueweb-image texture-blueweb-layer -1)
(gimp-context-set-pattern "Blue Web")
(gimp-edit-fill texture-blueweb-layer PATTERN-FILL)
;; texture safari
(set! texture-safari-image (car (gimp-image-new image-width image-height RGB)))
(set! texture-safari-layer (car (gimp-layer-new texture-safari-image image-width image-height RGB "Texture Safari" 100 NORMAL-MODE)))
(gimp-image-add-layer texture-safari-image texture-safari-layer -1)
(plug-in-solid-noise RUN-NONINTERACTIVE texture-safari-image texture-safari-layer FALSE FALSE 0 1 4.0 4.0)
(plug-in-displace RUN-NONINTERACTIVE texture-safari-image texture-safari-layer 20 20 TRUE TRUE texture-blueweb-layer texture-blueweb-layer 0)
(plug-in-oilify RUN-NONINTERACTIVE texture-safari-image texture-safari-layer 8 1)
(plug-in-gradmap RUN-NONINTERACTIVE texture-safari-image texture-safari-layer) ;; appliqué le dégradé
(plug-in-displace RUN-NONINTERACTIVE texture-safari-image texture-safari-layer 10 10 TRUE TRUE texture-terra-layer texture-terra-layer 0)
(if (= type 1) ;; cameleon malade
(begin
(plug-in-spread RUN-NONINTERACTIVE texture-safari-image texture-safari-layer 20 20)
)
)
(if (= type 2) ;; tigre grincheux
(begin
(plug-in-cartoon RUN-NONINTERACTIVE texture-safari-image texture-safari-layer 7.0 0.200)
)
)
(if (= type 3) ;; Serpent facetieux
(begin
(plug-in-mosaic RUN-NONINTERACTIVE texture-safari-image texture-safari-layer 15.0 4.0 1.0 0.65 TRUE 135.0 0.2 TRUE FALSE 1 FALSE FALSE)
)
)
(if (= type 4) ;; himpala harmonieux
(begin
(plug-in-polar-coords RUN-NONINTERACTIVE texture-safari-image texture-safari-layer 100.0 0.0 FALSE TRUE FALSE)
)
)
(set! duplicate-layer (car (gimp-layer-new-from-drawable texture-safari-layer finale-image)))
(gimp-image-add-layer finale-image duplicate-layer -1)
(gimp-layer-set-mode duplicate-layer HARDLIGHT-MODE)
(if (> flou 0) ;; si un flou est demandé
(begin
(set! mask (car (gimp-layer-create-mask duplicate-layer ADD-BLACK-MASK)))
(gimp-layer-add-mask duplicate-layer mask)
(gimp-context-set-foreground '(255 255 255))
(gimp-selection-layer-alpha text-layer) ;; alpha vers selection
(gimp-edit-fill mask FOREGROUND-FILL) ;; remplir de noir
(gimp-selection-none finale-image)
)
)
;; *******************************************************************************
;; FINALISATIONS
;; *******************************************************************************
(gimp-display-new finale-image)
(gimp-image-delete texture-terra-image)
(gimp-image-delete texture-blueweb-image)
(if (= conserv FALSE) ;; Conserver les images ?
(begin
(gimp-image-delete texture-safari-image)
(gimp-image-delete bump-image)
(gimp-image-merge-visible-layers finale-image EXPAND-AS-NECESSARY)
)
(begin
(gimp-display-new texture-safari-image)
(gimp-display-new bump-image)
)
)
;; mise a jour
(gimp-context-set-pattern old-pat)
(gimp-context-set-foreground old-fg)
(gimp-context-set-gradient old-deg)
)
)
;; ------------------------
;; script pour <image>
;; ------------------------
(define (script-fu-abcdugimp-safari-logo image drawable type relief gradient flou flou-r elevation conserv)
(let* (
(var-select (car (gimp-selection-is-empty image)))
(canal 0)
)
(gimp-image-undo-group-start image)
(if (= var-select TRUE) ;; test si il y a selection
(begin ;; aucune selection n'a été faite
)
(begin ;; une selection a ete faite
(set! canal (car (gimp-selection-save image))) ;; canal stockant la selection originelle de l'utilisateur
)
)
(gimp-selection-none image)
(apply-abcdugimp-safari-logo image drawable type relief gradient flou flou-r elevation conserv)
(if (= var-select TRUE) ;; test si il y AVAIT selection
(begin ;; aucune selection n'avait été faite
)
(begin ;; une selection avait été faite (remettre la selection de l'utilisateur)
(gimp-selection-load canal) ;; mask de canal vers selection
(gimp-image-remove-channel image canal) ;; supprimer le mask de canal
)
)
(gimp-image-undo-group-end image)
(gimp-displays-flush)
)
)
(script-fu-register "script-fu-abcdugimp-safari-logo"
"Safari 1.2"
"Un relief avec une texture animal."
"Michel Douez"
"creative commons licence"
"21/03/2008"
"RGBA"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
SF-OPTION "Type" '("Quiet" "Wild" "Grumpy Tiger" "Jovial Snake" "Peacefull Impala")
SF-OPTION "Relief" '("Simple" "Double")
SF-GRADIENT "Gradient" "Shadows 1"
SF-ADJUSTMENT "Blur" '(0 0 50 1 10 0 1)
SF-ADJUSTMENT "Blur(Bumpmap)" '(15 1 120 1 0 0 1)
SF-ADJUSTMENT "Elevation(Bumpmap)" '(20 1 90 1 0 0 1)
SF-TOGGLE "Keep pictures and layers?" FALSE
)
(script-fu-menu-register "script-fu-abcdugimp-safari-logo" "<Image>/Temp")
Attachment:
img1.png
Done with type=Jovial Snake, relief=Double, tick box unchecked, and selecting the black text on transparency layer.
Attachment:
Snake2.png