在Perl中打印多个ANSI颜色值
我喜欢Perl的在Perl中打印多个ANSI颜色值,perl,colors,ansi-escape,Perl,Colors,Ansi Escape,我喜欢Perl的Term::ANSIColor模块,但是除了提供的颜色外,还可以打印其他颜色吗 我试着打印出深红和亮绿色之间的单词,它们之间有相当数量的台阶。有没有办法提供RGB值或更改文本颜色的方法?您可以使用。 此模块可以使用256色。一些终端甚至可以接受完整的8位RGB颜色规格 $ perl -E 'say "\e[38:2:255:100:80mHello\e[m"' Hello 这可以用rgb(255100,80)粉红色打印。取决于你的终端 作为从任意RGB组合中获取xterm256
Term::ANSIColor
模块,但是除了提供的颜色外,还可以打印其他颜色吗
我试着打印出深红和亮绿色之间的单词,它们之间有相当数量的台阶。有没有办法提供RGB值或更改文本颜色的方法?您可以使用。
此模块可以使用256色。一些终端甚至可以接受完整的8位RGB颜色规格
$ perl -E 'say "\e[38:2:255:100:80mHello\e[m"'
Hello
这可以用rgb(255100,80)
粉红色打印。取决于你的终端
作为从任意RGB组合中获取xterm256颜色值的一种方法,您可能还喜欢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";
}
我会将输出粘贴到这里,但很难在注释中传达颜色:)值得注意的是,显示的颜色取决于OP使用的终端。