[ << Modifica dell’output ] | [Top][Contents][Index] | [ Modelli >> ] |
[ < La proprietà transparent ] | [ Up : Visibilità e colore degli oggetti ] | [ Dimensione degli oggetti > ] |
La proprietà color
Infine, proviamo a rendere le stanghette invisibili colorandole di bianco. (Si tratta di un metodo problematico perché la stanghetta bianca può imbiancare o meno le linee del rigo che incrocia. Puoi vedere in alcuni degli esempi successivi che questo accade in modo imprevedibile. I motivi per cui questo accade e il modo in cui è possibile controllarlo sono esposti in Dipingere gli oggetti di bianco. Ma per il momento stiamo imparando la proprietà color, quindi accettiamo questa limitazione.)
L’interfaccia grob-interface
stabilisce che il valore della
proprietà color è una lista, ma non spiega cosa debba essere questa
lista. La lista di cui ha bisogno è in realtà una lista di valori
in unità interne, ma per evitare di dover imparare quali siano queste
unità vengono forniti vari modi di specificare un colore. Il primo
modo consiste nell’usare uno dei colori ‘CSS’ predefiniti elencati
in Elenco dei colori. Per rendere bianche le
stanghette scriviamo:
\relative { \time 12/16 \override Staff.BarLine.color = "white" c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
e di nuovo vediamo che le stanghette non sono visibili. Si noti che white non è preceduto da un apostrofo, perché non è un simbolo, bensì una stringa, associata a un elenco predefinito di valori interni. In questo caso la sintassi di LilyPond imita il linguaggio CSS comunemente usato nelle pagine web; oltre ai nomi predefiniti, è possibile specificare un codice colore esadecimale:
\relative { \time 12/16 \override Staff.BarLine.color = "#FFFFFF" c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
Potremmo perfino definire questo colore in una variabile e poi usare questa variabile come definizione di proprietà. Essendo sia una variabile LilyPond che un oggetto Scheme, può essere preceduta indifferentemente da una barra inversa o dal cancelletto:
whiteVar = "#FFFFFF" \relative { \time 12/16 \override Staff.BarLine.color = \whiteVar c''4 b8 c d16 c d8 | \override Staff.BarLine.color = #whiteVar g,8 a16 b8 c d4 e16 | e8 }
Un altro modo di aggiungere colori a una partitura consiste nell’uso di
una funzione. Esistono due funzioni utili a questo proposito: una è la
funzione x11-color
, che impareremo a usare tra poco. L’altra,
la funzione rgb-color
, dimostra bene la logica interna di LilyPond:
prende tre argomenti che specificano l’intensità dei colori rosso, verde
e blu. I valori vanno da 0 a 1. Quindi per avere il colore rosso
il valore sarà (rgb-color 1 0 0)
e per avere il bianco
sarà (rgb-color 1 1 1)
:
\relative { \time 12/16 \override Staff.BarLine.color = #(rgb-color 1 1 1) c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
Notare che in questo caso l’intera chiamata alla funzione deve essere
racchiusa tra parentesi. Lo stesso vale per la funzione x11-color
che abbiamo appena saltato.
x11-color
associa i nomi di colore predefiniti a valori interni – ma
offre molte più scelta dei nomi CSS, come si può vedere in
Elenco dei colori. Per esempio, l’insieme di colori X11 include
un’ampia scala di grigi, i cui nomi vanno dal nero, 'grey0
,
al bianco, 'grey100
, con cadenza di 1. Ecco un
esempio in cui tutti gli oggetti di formattazione sono
impostati su diverse tonalità di grigio:
\relative { \time 12/16 \override Staff.StaffSymbol.color = #(x11-color 'grey30) \override Staff.TimeSignature.color = #(x11-color 'grey60) \override Staff.Clef.color = #(x11-color 'grey60) \override Voice.NoteHead.color = #(x11-color 'grey85) \override Voice.Stem.color = #(x11-color 'grey85) \override Staff.BarLine.color = #(x11-color 'grey10) c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
Nota i contesti associati a ciascuno degli oggetti di formattazione. È importante scegliere quelli giusti, altrimenti i comandi non funzioneranno! Ricorda, il contesto è quello in cui si trova il relativo incisore. Il contesto predefinito per gli incisori si trova partendo dall’oggetto di formattazione (layout object) per poi andare all’incisore che lo produce: la pagina dell’incisore nella guida al Funzionamento interno riporterà a quale contesto appartenga di norma l’incisore.
[ << Modifica dell’output ] | [Top][Contents][Index] | [ Modelli >> ] |
[ < La proprietà transparent ] | [ Up : Visibilità e colore degli oggetti ] | [ Dimensione degli oggetti > ] |