Impression de plusieurs couleurs ANSI valeurs en Perl
-
12-11-2019 - |
Question
J'aime Perl Term::ANSIColor
module mais est-il possible d'imprimer des couleurs autres que celles prévues?
Je suis en train d'imprimer des mots avec une gamme entre le rouge foncé et vert clair, avec un bon nombre d'étapes entre eux.Est-il un moyen de fournir une valeur RVB ou quelque chose pour changer la couleur du texte?
La solution
Vous utilisez Durée::ExtendedColor.Vous pouvez utiliser 256 couleurs par ce module.
Autres conseils
Quelques bornes à même d'accepter la pleine RVB 8 bits couleur spécifications.
$ perl -E 'say "\e[38:2:255:100:80mHello\e[m"'
Hello
Cela peut être imprimé en rgb(255,100,80)
de couleur rose.Dépend de votre terminal.
Comme un moyen d'obtenir xterm256 couleur des valeurs de l'arbitraire des combinaisons RVB, vous aimerez aussi Convert::Color
use strict;
use warnings;
use Convert::Color;
use Convert::Color::XTerm;
foreach my $hue ( map { $_ * 15 } 0 .. 120/15 ) {
my $c = Convert::Color->new( "hsv:$hue,1,1" );
my $index = $c->as_xterm->index;
print "\e[38:5:${index}mHue=$hue\e[m\n";
}
J'avais coller la sortie ici, mais c'est difficile à expliquer les couleurs à un commentaire :)