;; --------------------------------------------------------- ;; * ;; * Script-Fu Incandescence v1.0 ;; * ;; * pour GIMP 2.0.x ;; * ;; * ;; * abcdugimp.free.fr 03/08/2004 ;; * ;; --------------------------------------------------------- ;; Vous êtes libre d'utiliser ce script comme bon vous semble ;; feel free to use it for whatever you like. ;; declarations ;; coordonnees de l'outil plume (define (gen_bottom_array hauteur largeur) (let* ((n_array (cons-array 24 'double))) (aset n_array 0 0) ;; x0 (aset n_array 1 (/ (* hauteur 90.66) 100)) ;; y0 (aset n_array 2 (/ (* largeur 7.16) 100)) ;; x1 (aset n_array 3 (/ (* hauteur 87.33) 100)) ;; y1 (aset n_array 4 (/ (* largeur 26.33) 100)) ;; x2 (aset n_array 5 (/ (* hauteur 74) 100)) ;; y2 (aset n_array 6 (/ (* largeur 39) 100)) ;; etc... (aset n_array 7 (/ (* hauteur 84.33) 100)) (aset n_array 8 (/ (* largeur 48.33) 100)) (aset n_array 9 (/ (* hauteur 86.66) 100)) (aset n_array 10 (/ (* largeur 59.16) 100)) (aset n_array 11 (/ (* hauteur 82.66) 100)) (aset n_array 12 (/ (* largeur 71.5) 100)) (aset n_array 13 (/ (* hauteur 72.66) 100)) (aset n_array 14 (/ (* largeur 89.83) 100)) (aset n_array 15 (/ (* hauteur 85.33) 100)) (aset n_array 16 largeur) (aset n_array 17 (/ (* hauteur 89.33) 100)) (aset n_array 18 largeur) (aset n_array 19 hauteur) (aset n_array 20 0) (aset n_array 21 hauteur) (aset n_array 22 0) (aset n_array 23 (/ (* hauteur 90.66) 100)) n_array) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LANCEMENT (define (script-fu-incandescence largeur hauteur presets dim-cendres more-shadow1 emboss-shadow diffraction filter-color marb-color keep-layer ) ;; init generale (let* ( ;; conserver les outils dans des variables (old-bg (car (gimp-palette-get-background))) (old-fg (car (gimp-palette-get-foreground))) (old-gra (car (gimp-gradients-get-gradient))) ;; creation de l'image (img (car (gimp-image-new largeur hauteur RGB))) ;; creation des calques (gradient1 (car (gimp-layer-new img largeur hauteur RGBA-IMAGE "Gradient 1" 100 NORMAL))) ;; fond (lum-filter (car (gimp-layer-new img largeur hauteur RGBA-IMAGE "Lumiere filtrante" 100 19))) ;; Lumière filtrante (lava-marb2 (car (gimp-layer-new img largeur hauteur RGBA-IMAGE "Lava marbrure 2" 100 NORMAL))) ;; Lava marbrure (brume-unie (car (gimp-layer-new img largeur hauteur RGBA-IMAGE "Brouillard uni" 100 NORMAL))) ;; Brouillard uni (brume-effet (car (gimp-layer-new img largeur hauteur RGBA-IMAGE "Brume" 100 20))) ;; Brume (diffract (car (gimp-layer-new img largeur hauteur RGBA-IMAGE "Diffraction" 100 SATURATION))) ;; Diffraction ) ;; debut de non-historique d'annulation (gimp-image-undo-disable img) ;; init calques ;; vider les calques pour qu'il n'y est pas de trace indesirable (gimp-edit-clear gradient1) (gimp-edit-clear lum-filter) (gimp-edit-clear lava-marb2) (gimp-edit-clear brume-unie) (gimp-edit-clear brume-effet) (gimp-edit-clear diffract) ;; travail du calque "Gradient" (gimp-image-add-layer img gradient1 0) ;; add layers (attribution hierarchique) ;; degrade du calque "gradient" et "Gradient intermediaire" (gimp-palette-set-foreground '(0 0 0)) ;; couleur PP (gimp-palette-set-background '(255 148 0)) ;; couleur AP (gimp-gradients-set-gradient "PP vers AP (RVB)") ;; choisir un degradé (gimp-edit-blend gradient1 3 0 LINEAR 100 0 REPEAT-NONE FALSE FALSE 0 0 FALSE 1 hauteur 1 0) ;; commande de dégradé ;; travail du calque "Lava layer" ;; creation calque de lave (script-fu-lava img gradient1 10 10 7 "German flag smooth" TRUE TRUE FALSE) (gimp-layer-set-mode lava-layer COLOR) ;; changer son mode de calque ;; travail du calque "Lumiere filtrante" (gimp-image-add-layer img lum-filter 0) ;; add layers (insere le calque) (gimp-palette-set-background filter-color) ;; couleur AP (gimp-drawable-fill lum-filter 1) ;; remplir couleur AP ;; travail du calque "Lava marbrure 1" ;; duplication de lava-layer (set! lava-marb1 (car (gimp-layer-copy lava-layer TRUE))) ;; copie dans lava-marb1 (gimp-image-add-layer img lava-marb1 0) ;; add layer (gimp-drawable-set-name lava-marb1 "Lava marbrure 1") ;; renomme le calque ;; selection du motif et interventions (gimp-by-color-select lava-marb1 '(0 0 0) 50 REPLACE TRUE TRUE 2 FALSE) ;; selectionne le noir (gimp-edit-cut lava-marb1) ;; efface le noir (gimp-selection-layer-alpha lava-marb1) ;; alpha vers selection (gimp-palette-set-background marb-color) ;; couleur AP ;; si "Le jardin de roses" a ete choisi mettre la bonne couleur (if (= presets 13) ;; condition (begin (gimp-palette-set-background '(25 131 16)) ;; couleur AP )) (gimp-edit-bucket-fill lava-marb1 BG-BUCKET-FILL NORMAL-MODE 100 0 FALSE 0 0) ;; remplir la selection couleur AP (gimp-selection-none img) ;; deselectionner (gimp-layer-set-mode lava-marb1 MULTIPLY) ;; changer son mode de calque ;; travail du calque "Lava marbrure 2" (gimp-image-add-layer img lava-marb2 0) ;; add layer ;;selection de la zone dans "Lava marbrure 1" et copier dans "Lava marbrure 2" (gimp-selection-layer-alpha lava-marb1) ;; alpha vers selection (gimp-selection-shrink img 1) ;; reduit la selection ;; copier/coller (gimp-edit-copy lava-marb1) ;; copie (gimp-floating-sel-anchor (car (gimp-edit-paste lava-marb2 0))) ;; colle et ancre la selection flottante ;; selectionner le bas du calque (gimp-rect-select img 0 (- hauteur 60) largeur hauteur REPLACE TRUE 20) (gimp-edit-cut lava-marb2) ;; et couper ;; travail du calque "Brouillard uni" (gimp-image-add-layer img brume-unie 5) ;; add layer (plug-in-solid-noise 1 img brume-unie 0 1 0 1 3 3) ;; travail du calque "Brume" (gimp-image-add-layer img brume-effet 0) ;; add layer ;; selection en forme de colline (gimp-free-select img 24 (gen_bottom_array hauteur largeur) CHANNEL-OP-REPLACE TRUE TRUE 100.0) ;; copier/coller (gimp-edit-copy brume-unie) ;; copie (gimp-floating-sel-anchor(car (gimp-edit-paste brume-effet 0))) ;; colle et ancre la selection flottante ;; Presets ;;"Defaut" ;; presets=0 ;; "Variante" (if (= presets 1) ;; condition (begin (gimp-layer-set-mode lum-filter 17) ;; changer son mode de calque assombrir )) ;; "Halo" (if (= presets 2) ;; condition (begin (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas )) ;; "Sans cendre" (if (= presets 3) ;; condition (begin (gimp-layer-set-mode lava-layer 11) ;; changer son mode de calque Teinte )) ;; "Lum. Flitre Degrade" (if (= presets 4) ;; condition (begin (gimp-palette-set-foreground '(0 0 0)) ;; couleur PP (gimp-palette-set-background filter-color) ;; couleur AP (gimp-gradients-set-gradient "PP vers AP (RVB)") ;; choisir un degradé (gimp-edit-blend lum-filter 3 0 LINEAR 100 0 REPEAT-NONE FALSE FALSE 0 0 FALSE 1 hauteur 1 0) ;; commande de dégradé )) ;; "Brume feu" (if (= presets 5) ;; condition (begin (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas )) ;; "3D" (if (= presets 6) ;; condition (begin (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-layer-set-mode brume-effet 6) ;; changer son mode de calque difference )) ;; "3Dbis" (if (= presets 7) ;; condition (begin (script-fu-predator img brume-unie 10 FALSE 3 TRUE TRUE) (gimp-image-lower-layer img active-layer) ;; descend le calque d'un pas (gimp-image-lower-layer img active-layer) ;; descend le calque d'un pas (gimp-image-lower-layer img active-layer) ;; descend le calque d'un pas (gimp-image-lower-layer img active-layer) ;; descend le calque d'un pas (gimp-image-lower-layer img active-layer) ;; descend le calque d'un pas (gimp-layer-set-mode active-layer 18) ;; changer son mode de calque Lumiere dure (gimp-drawable-set-visible lava-layer FALSE) (gimp-drawable-set-visible lava-marb2 FALSE) )) ;; "Mystique 1" (if (= presets 8) ;; condition (begin (gimp-layer-set-mode brume-effet 21) ;; changer son mode de calque fusion de grain (gimp-layer-set-mode lava-marb2 21) ;; changer son mode de calque fusion de grain (gimp-layer-set-mode lava-marb1 6) ;; changer son mode de calque difference (gimp-layer-set-mode lum-filter 6) ;; changer son mode de calque difference (gimp-layer-set-mode lava-layer 8) ;; changer son mode de calque soustraction )) ;; "Mystique 2" (if (= presets 9) ;; condition (begin (gimp-layer-set-mode lava-marb2 21) ;; changer son mode de calque fusion de grain (gimp-layer-set-mode lava-marb1 6) ;; changer son mode de calque difference (gimp-layer-set-mode lum-filter 6) ;; changer son mode de calque difference (gimp-layer-set-mode lava-layer 8) ;; changer son mode de calque soustraction (gimp-palette-set-background '(255 0 0)) ;; couleur AP (gimp-drawable-fill lum-filter 1) ;; remplir couleur AP )) ;; "Mystique 3" (if (= presets 10) ;; condition (begin (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-layer-set-mode brume-unie 6) ;; changer son mode de calque difference )) ;; "Mystique 4" (if (= presets 11) ;; condition (begin (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-layer-set-mode brume-unie 6) ;; changer son mode de calque difference (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas (gimp-image-lower-layer img brume-effet) ;; descend le calque d'un pas )) ;; "Ultra" (if (= presets 12) ;; condition (begin (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-layer-set-mode brume-unie 12) ;; changer son mode de calque saturation (gimp-layer-set-mode brume-effet 17) ;; changer son mode de calque assombrir (gimp-layer-set-mode lava-marb2 21) ;; changer son mode de calque fusion (gimp-layer-set-mode lava-marb1 5) ;; changer son mode de calque superposer (gimp-layer-set-mode lava-layer 6) ;; changer son mode de calque difference )) ;; "Le jardin de roses" (if (= presets 13) ;; condition (begin (gimp-image-raise-layer img brume-unie) ;; monte le calque d'un pas (gimp-layer-set-mode brume-unie 12) ;; changer son mode de calque saturation (gimp-layer-set-mode brume-effet 12) ;; changer son mode de calque saturation ;; verifier que les effets vont se faire sinon, les executer (if (= dim-cendres FALSE) ;; condition (begin (plug-in-erode 0 img lava-layer 0 0 0 0 0 0) ;; diminuer les cendres (Lava-layer) )) (if (= more-shadow1 FALSE) ;; condition (begin (plug-in-cubism 1 img lava-marb1 8 4 1) ;; Etaler les ombres (Lava marbrure 1) )) ;; couleurs de lumiere filtrante (gimp-palette-set-background '(201 48 207)) ;; couleur AP (gimp-drawable-fill lum-filter 1) ;; remplir couleur AP (gimp-message "Ce Type contient plusieurs parametres non-modifiable : les 2 couleurs, etaler les ombres et diminuer les cendres !") )) ;; choix de l'utilisateur (effets) ;; diminuer les cendres (Lava-layer) (if (= dim-cendres TRUE) ;; condition (begin (plug-in-erode 0 img lava-layer 0 0 0 0 0 0) )) ;; Souligner les Ombres (Lava marbrure 1) (if (= emboss-shadow TRUE);; condition (begin (plug-in-emboss 1 img lava-marb1 30 45 20 0) )) ;; Etaler les ombres (Lava marbrure 1) (if (= more-shadow1 TRUE) ;; condition (begin (plug-in-cubism 1 img lava-marb1 8 4 1) )) ;; Effet filtrant diffracte (Lumiere filtrante) (if (= diffraction TRUE) ;; condition (begin (gimp-image-add-layer img diffract 3) ;; add layer (plug-in-diffraction 1 img diffract 0.815 1.221 1.123 0.821 0.821 0.874 0.610 0.677 0.636 0.066 37.126 -0.473) )) ;; Conserver les calques (if (= keep-layer FALSE) ;; condition (begin (gimp-image-flatten img) )) ;; mise a jour ;; fin de non-historique d'annulation (gimp-image-undo-enable img) ;;remettre toutes les outils comme au debut (gimp-palette-set-background old-bg) (gimp-palette-set-foreground old-fg) (gimp-gradients-set-gradient old-gra) ;; créer dans une nouvelle image (gimp-display-new img) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Fin du Script ;; registre (script-fu-register "script-fu-incandescence" "/Xtns/Script-Fu/Patterns/Incandescence" "Genere des rendus de base Lava. Sont utilises dans le script les Greffons : 'Brouillard uni (Solid-noise)', 'Erosion (Erode)', 'Repousser (Emboss)', 'Cubisme (Cubism)', 'Diffraction', et les Script-Fu: 'Lave (Lava)', 'Predateur (Predator)'. abcdugimp.free.fr" "Expression" "Free" "03/08/2004" "" SF-ADJUSTMENT "Largeur image" '(400 10 1024 1 50 0 0) SF-ADJUSTMENT "Hauteur image" '(300 10 864 1 50 0 0) SF-OPTION "Type" '("01-Defaut" "02-Variante" "03-Halo" "04-Sans cendre" "05-Lum. Flitre Degrade" "06-Brume feu" "07-3D" "08-3Dbis" "09-Mystique 1" "10-Mystique 2" "11-Mystique 3" "12-Mystique 4" "13-Ultra" "14-Le jardin de roses") SF-TOGGLE "Diminuer les cendres (Lava-layer) ?" FALSE SF-TOGGLE "Etaler les ombres (Lava marbrure 1) ?" FALSE SF-TOGGLE "Souligner les ombres (Lava marbrure 1) ?" FALSE SF-TOGGLE "Effet de diffraction ?" FALSE SF-COLOR "Couleur de Lumiere filtrante" '(255 148 0) SF-COLOR "Couleur des marbrures" '(255 148 0) SF-TOGGLE "Conserver les calques" FALSE )