我喜欢Perl的Term::ANSIColor
模块,但可以打印出不同于所提供颜色的颜色吗?在Perl中打印超过ANSI颜色值
我试图用深红色和鲜绿色之间的范围打印出单词,并在它们之间有相当数量的步骤。有没有办法提供RGB值或更改文本颜色?
我喜欢Perl的Term::ANSIColor
模块,但可以打印出不同于所提供颜色的颜色吗?在Perl中打印超过ANSI颜色值
我试图用深红色和鲜绿色之间的范围打印出单词,并在它们之间有相当数量的步骤。有没有办法提供RGB值或更改文本颜色?
您使用Term::ExtendedColor。 您可以使用该模块的256种颜色。
一些终端甚至接受完整的8位RGB颜色规格。
$ perl -E 'say "\e[38:2:255:100:80mHello\e[m"'
Hello
这可能会打印在rgb(255,100,80)
粉红色。取决于您的终端。
,以此来获得xterm256颜色值出任意RGB的组合,你可能还喜欢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所使用的终端。 – 2012-02-26 07:22:01