Tecnologia e non solo

aprile 17, 2012

Gimp 2.8 scripting con script-fu 12

Archiviato in: image-processing — telperion @ 1:05 pm

Dodicesima parte.
Le maschere di livello.

Aggiungere una maschera di livello si ottiene creando prima la maschera e poi aggiungendola al livello:

	(gimp-layer-add-mask 
		id-livello
		(car
			(gimp-layer-create-mask 
				id-livello 
				TIPO-DI-MASK
			)
		)
	)

dove id-livello (di un livello esistente) si può ricavare per esempio, come abbiamo visto,
dal “Nome del livello” con:

		(car 
			(gimp-image-get-layer-by-name img 
			"Nome del livello"
		      	)
		) 

Come spiegato nella parte 11, definire una nostra funzione è molto più pratico che usare costrutti complessi.
Aggiungiamo quindi alle funzioni personali

(maschera-al-livello img nomelivello tipomask)
; crea e aggiunge una mask al livello col nome nomelivello

; img e drawable sono variabili globali dichiarate nel define iniziale
; pertanto vanno passate semplicemente con lo stesso nome dove richiesto
; img drawable

; nomelivello è una stringa che contiene tra virgolette il nome del livello,
; ad esempio “Base”

; tipomask = tipo di mask un numero da 0 a 6 o il NOME-MASK corripondente
; vedi gimp-layer-create-mask:
; The type of mask ADD-WHITE-MASK (0), ADD-BLACK-MASK (1), ADD-ALPHA-MASK (2),
; ADD-ALPHA-TRANSFER-MASK (3), ADD-SELECTION-MASK (4), ADD-COPY-MASK (5), ADD-CHANNEL-MASK (6)

il cui codice è :

; --------------------------------------------------------------------

; (maschera-al-livello img nomelivello tipomask)
;
; crea e aggiunge una mask al livello col nome nomelivello

(define (maschera-al-livello img nomelivello tipomask)
  (let* 
         (	
	 ; dichiarare tutte qui le variabili usate
	 )

  ; qui ci saranno tutte le operazioni da compiere

	(gimp-layer-add-mask 
		(car 
			(gimp-image-get-layer-by-name img 
			nomelivello
		      	)
		)
		(car
			(gimp-layer-create-mask 
				(car 
					(gimp-image-get-layer-by-name img 
					nomelivello
				      	)
				)	 
				tipomask
			)
		)
	)
	
  ; fine operazioni
  )
)

; --------------------------------------------------------------------

Qui trovate un esempio completo
pastebin.com/raw.php?i=vvHBdfgb

Potete salvare lo script come
~/.gimp-2.8/scripts/personali-demomask-funzioni.scm

e lo trovate in
Filtri Personali demo mask funzioni

Lo script fa quello che mi era stato richiesto da Andrea nei commenti della parte 10.

Potete notare nello script il riutilizzo delle funzioni personali definite nella parte 11.

Sempre in quei commenti trovate la versione senza l’uso delle funzioni personali per un confonto.

Per ulteriori procedure sulle mask, cercate mask nel “navigatore di procedure”, nel menu Aiuto di gimp.
Ad esempio la maschera si elimina con
(gimp-layer-remove-mask layer mode)
Removal mode { MASK-APPLY (0), MASK-DISCARD (1) }

This procedure removes the specified layer mask from the layer.
If the mask doesn’t exist, an error is returned.

Alla prossima.

Gimp 2.8 scripting con script-fu 11

Gimp 2.8 scripting con script-fu 13

L’indice completo delle parti di “Gimp-2-8 scripting con script-fu”
lo trovate in
Articoli in evidenza

About these ads

The Rubric Theme. Create a free website or blog at WordPress.com.

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 31 follower

%d blogger cliccano Mi Piace per questo: