Coloration d’objets

Des objets peuvent être colorisés individuellement. Une liste des noms des couleurs disponibles se trouve à l’annexe Liste des couleurs.

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

[image of music]

En plus du jeu limité de couleurs de base prédéfini sous forme de variable – voir les « couleurs normales » dans Liste des couleurs – n’importe quelle couleur peut être spécifiée sous forme de chaîne, qu’il s’agisse d’un nom de couleur prédéfini dans le style CSS ou d’un code hexadécimal préfixé d’un ‘#’ (le tout entre guillemets informatiques) :

\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]

Lorsque ce code couleur comporte un canal alpha pour la transparence, spécifier un code sur huit caractères "#RRGGBBAA", ou sa forme abrégée "#RGBA", produira ses effets pour une sortie SVG, mais pas pour du PostScript ni du PDF. Dans l’exemple précédent, on peut voir à travers le silence dès lors qu’il est compilé avec le moteur SVG, comme expliqué dans Formats de sortie alternatifs.

De manière différente, l’intégralité de la palette des couleurs définies pour X11 est accessible par la fonction Scheme x11-color. Cette fonction prend en argument une expression symbolique de la forme 'DarkSeaGreen4 ou bien une chaîne de caractères comme "DarkSeaGreen4". La première formulation est à la fois plus rapide à écrire et aussi plus efficace. Néanmoins, la deuxième forme permet d’accéder aux noms composés des couleurs de X11 comme ici "dark sea green 4".

Lorsque la fonction x11-color ne trouve pas le paramètre fourni, elle revient à la couleur par défaut, le noir. Le problème ressort de façon évidente au vu de la partition finale.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'SlateGrey) "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 'orange)
  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]

LilyPond prend aussi en charge un jeu de huit noms de couleur sans ambiguïté pour les gens souffrant de daltonisme ou non. Il est accessible sous le nom de universal-color.

\markup \with-color #(universal-color 'vermillion) vermillion

[image of music]

Un autre moyen consiste à fournir à la fonction Scheme rgb-color les composantes de la couleur exacte au format rouge-vert-bleu (RGB) – chacune étant exprimée en en fraction de 256 (le 0.5 de l’exemple suivant correspond à 128). ainsi qu’éventuellement un nombre définissant le niveau de transparence. Une fois de plus, cette transparence n’est effective que dans le cadre du format SVG, où la clef de l’extrait ci-dessous sera affectée.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinet"
    }
  \override Clef.color = #(rgb-color 0 0 0 0.5)
  }
\relative c'' {
  \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]

Voir aussi

Manuel de notation : Les commandes \tweak et \single, Liste des couleurs.

Morceaux choisis : Annotations éditoriales.

Problèmes connus et avertissements

Une couleur x11 n’aura pas forcément le même rendu qu’une couleur normale ayant un nom similaire.

Les couleurs de X11 ne sont pas toutes perceptibles dans un navigateur internet. Aussi nous vous recommandons, dans le cadre d’une présentation multimédia, d’utiliser des couleurs CSS.

Vous ne pouvez pas coloriser individuellement des notes à l’intérieur d’un accord avec \override. Si besoin est, utilisez \tweak ou \single\override devant la note en question. Pour plus de détails, consultez Les commandes \tweak et \single.


GNU LilyPond – Manuel de notation v2.25.22 (development-branch).