Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Perl中打印多个ANSI颜色值_Perl_Colors_Ansi Escape - Fatal编程技术网

在Perl中打印多个ANSI颜色值

在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

我喜欢Perl的
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使用的终端。