Tecnologia e non solo

aprile 14, 2012

Gimp 2.8 scripting con script-fu 7

Filed under: image-processing — telperion @ 3:01 pm

Settima parte,
nuova procedura più sicura e compatta per copiare un livello,
applicare Sfocatura Gaussiana.

Lo script con la 7 parte lo trovate qui:
http://pastebin.com/Gbb9D3Xe

Prima di tutto, la nuova procedura più sicura e compatta per copiare un livello.
Per selezionare un livello e copiare nel buffer il drawable, il vecchio codice era:

        ; seleziona del layer col nome "Originale"
        (gimp-image-set-active-layer img
                (car (gimp-image-get-layer-by-name img
                        "Originale"
                      )
                )
        )
 
 
        ; copia il livello selezionato nel buffer ...
        (gimp-edit-copy drawable)

mi sono accorto che questo comporta alcuni problemi
in quanto la variabile “drawable” di sistema non è sempre sotto il nostro completo controllo.

Ho cambiato quindi la procedura in:

        ; copia il livello "Originale" nel buffer ...
        (gimp-edit-copy
                (car (gimp-image-get-layer-by-name img
                        "Originale"
                      )
                )
 
        )

che in un solo passaggio, copia con “certezza” il livello col nome tra virgolette, “Originale” nell’esempio, nel buffer.

Tutte le ricorrenze nello script, sono state modificate di conseguenza nel codice della settima parte.

Detto questo, il codice aggiunto per la settima parte, va dalla riga 255 alla 311.
Viene come al solito creato un nuovo livello, dal nome “Gaussiana”, dove viene copiato il livello dal nome “Colori-Curve” a cui applichiamo un ulteriore effetto, la sfocatura gaussiana, con i parametri come nella figura:


Uploaded with ImageShack.us

Ora cerchiamo l’equivalente funzione ne navigatore di procedure (menu – Aiuto)


Uploaded with ImageShack.us

che è con i parametri:

(plug-in-gauss-rle2 run-mode image drawable horizontal vertical)

che nel codice diventa:

        ; applichiamo la sfocatura gaussiana al livello "Gaussiana"
        (plug-in-gauss-rle2
                1
                img
                (car (gimp-image-get-layer-by-name img
                        "Gaussiana"
                     )
                )
                9.0
                9.0
        )

Per prima cosa i plugin che hanno il parametro run-mode possono essere usati in modo interattivo (0) o non interattivo (1).
Nel modo interattivo, nell’esecuzione dello script, si aprirà la finestra di dialogo come nella prima figura, con i valori horizontal vertical preimpostati, che potranno quindi essere aggiustati dall’utente, e lo script proseguirà quando l’utente preme “OK”.
Nel modo non interattivo lo script invece esegue la sfocatura automaticamente.
L’uso del run-mode può essere utile quindi in alcuni casi per consentire interventi umani nella scelta dei parametri.

Nel nostro esempio è impostato a 1 quindi verrà eseguito automaticamente.

img è l’immagine, una variabile di sistema dichiarata nel define all’inizio dello script.

La funzione:

                (car (gimp-image-get-layer-by-name img
                        "Gaussiana"
                     )
                )

come dovremmo aver imparato ci restituisce l’id del livello col nome “Gaussiana” al quale applicare la sfocatura.

                9.0
                9.0

sono invece i valori si sfocatura orizzontale e verticale che vogliamo applicare.

Salvato lo script e se gimp è aperto facciamo:
menu – filtri – script-fu – aggiorna gli script

eseguiamo poi lo script su un’immagine aperta.
Otterremo anche il nuovo livello con applicata la sfocatura.

Dal menu Modifica – Annulla demo livelli di gruppo
potremo annullare le azioni dello script visto che abbiamo impostato l’undo generale nella parte 2.

Tutto chiaro?
Alla prossima.

Gimp 2.8 scripting con script-fu 6

Gimp 2.8 scripting con script-fu 8

Crea un sito o un blog gratuitamente presso WordPress.com.

%d blogger cliccano Mi Piace per questo: