Colorare gli oggetti

Si possono assegnare dei colori a ciascun oggetto. I nomi dei colori validi sono elencati nell’Elenco dei colori.

\override NoteHead.color = #red
c''4 c''
\override NoteHead.color = #(x11-color 'LimeGreen)
d''
\override Stem.color = "deepskyblue"
e''

[image of music]

Oltre a un insieme limitato di colori semplici disponibili come variabili predefinite (vedi “Colori normali” in Elenco dei colori), si può inserire qualsiasi colore come una stringa. Questa stringa può essere un nome colore definito in stile CSS oppure un codice colore esadecimale preceduto dal carattere # (dentro le virgolette doppie):

\override NoteHead.color = "lightsalmon"
\override Flag.color = "#E30074"
\override Beam.color = "#5e45ad"
\override Rest.color = "#3058"
g'8 \huge r4 a'16 f'

[image of music]

Il codice colore può avere un canale alfa per la semitrasparenza usando un codice a otto caratteri "#RRGGBBAA" o la sua forma abbreviata "#RGBA".

In un modo diverso, si può accedere all’intera gamma di colori definita per X11 con la funzione Scheme x11-color. La funzione prende un argomento, che può essere un simbolo, come 'DarkSeaGreen4, o una stringa, come "DarkSeaGreen4". La prima forma è più veloce da scrivere e un po’ più efficiente. Tuttavia, la seconda forma permette di specificare colori X11 anche attraverso più parole: in questo esempio, "dark sea green 4".

La funzione x11-color, se non riesce a comprendere il parametro, restituisce il colore nero.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinet"
    }
  }
  \relative c'' {
  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
  gis8 a
  \override Beam.color = #(x11-color "medium turquoise")
  gis a
  \override Accidental.color = #(x11-color 'DarkRed)
  gis a
  \override NoteHead.color = #(x11-color "LimeGreen")
  gis a
  % this is deliberate nonsense; note that the stems remain black
  \override Stem.color = #(x11-color 'Boggle)
  b2 cis
}

[image of music]

I colori RGB esatti si specificano con la funzione Scheme rgb-color. Questa funzione prende tre argomenti, usati rispettivamente per i canali red (rosso), green (verde) e blue (blu), e un numero alfa opzionale per la semitrasparenza. (Tutti i valori devono essere numeri compresi tra 0 e 1.) La semitrasparenza è supportata nell’output SVG, mentre per l’output PS e PDF è supportata solo se si una versione di Ghostscript uguale o superiore a 9.53. Nel frammento seguente la chiave del rigo appare semitrasparente se elaborato secondo le condizioni menzionate sopra.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinetto"
    }
  \override Clef.color = #(rgb-color 0 0 0 0.5)
  }
\relative c'' {
  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
  \override Stem.color = #(rgb-color 0 0 0)
  gis8 a
  \override Stem.color = #(rgb-color 1 1 1)
  gis8 a
  \override Stem.color = #(rgb-color 0 0 0.5)
  gis4 a
}

[image of music]

Vedi anche

Guida alla notazione: Elenco dei colori, Il comando \tweak.

Frammenti: Editorial annotations.

Problemi noti e avvertimenti

Un colore X11 non ha necessariamente la stessa identica tonalità di un normale colore dal nome simile.

Non tutti i colori X11 sono distinguibili in un browser web. Per esempio, un browser potrebbe non mostrare alcuna differenza tra LimeGreen e ForestGreen. Per il web si consiglia di usare i colori CSS, come è spiegato in Elenco dei colori.

Le note in un accordo non possono essere colorate separatamente con un \override; al suo posto si usa \tweak o l’equivalente \single\override, vedi Il comando \tweak.


Guida alla Notazione di LilyPond v2.25.21 (ramo di sviluppo).