Lup*_*ian 4 python terminal ansi-escape
ANSI 转义码 SGR 38 - 使用参数 2;r;g;b 设置前景色可以与打印功能一起使用吗?代码 33 的使用示例当然是
OKBLUE = '\033[94m'
Run Code Online (Sandbox Code Playgroud)
我想使用 038 来代替,以便能够使用任何 RGB 颜色。这可能吗?
我试过
GREEN = '\038[2;0;153;0m'
ENDC = '\033[0m'
print(f"{GREEN} some text {ENDC}")
Run Code Online (Sandbox Code Playgroud)
预计将“某些文本”的颜色更改为绿色
要在终端*内使用 RGB 颜色空间,可以使用以下转义序列:
# Print Hello! in lime green text.
print('\033[38;2;146;255;12mHello!\033[0m')
# ^
# |
# \ The 38 goes here, to indicate a foreground colour.
# Print Hello! in white text on a fuschia background.
print('\033[48;2;246;45;112mHello!\033[0m')
Run Code Online (Sandbox Code Playgroud)
解释:
\033[38;2;146;255;12mHello!\033[0m
^ ^ ^ ^ ^ ^ ^ ^ ^
| | | R G B | | |
| | | | | | \ Reset the colour to default
| | | | | |
| | | | | \ Escape character
| | | | |
| | | \ R;G;B \ Text to print
| | |
| | \ Indicate the following sequence is RGB
| |
| \ Code to instruct the setting of an 8 or 24-bit foreground (text) colour
|
\ Escape character
Run Code Online (Sandbox Code Playgroud)
使用 表示38;2遵循 RGB(前景)序列。但是,使用38;5表示以下(前景)值来自256 色表。
为了澄清看似误解的内容,\033(八进制)或\x1b(十六进制)对应于 ASCII 表的ESC 字符,此处使用它来引入终端文本着色的转义序列。而 则38用于指示将以下 8 位或 24 位颜色设置为前景(在引入转义序列之后)。此外,48还可用于设置背景颜色,如上面的代码示例所示。
*假设终端仿真器支持 24 位颜色序列。(例如 Xterm、GNOME 终端等)
链接到Wikipedia 文章,该文章更深入地解释了 24 色 (RGB) 这个主题。
| 归档时间: |
|
| 查看次数: |
1996 次 |
| 最近记录: |