如何让 Python 在 Windows 终端上以 RGB 颜色输出?

问题描述 投票:0回答:1

我在 Windows 10 计算机上通过命令提示符使用简单的 python (3.9.2) 解释器。

我正在尝试从 python 解释器获取彩色输出文本。我知道如何获得彩色输出,但是我正在寻找允许 RGB 指定输入的东西,以便我可以输出不同的颜色强度。

我发现一个线程这里有这样一个例子(您可能需要向下滚动才能看到指定 RGB 输入的代码行)。

所以..我尝试了这部分: (我还必须为任何转义序列导入 colorama 以显示实际颜色)

from sty import fg, bg, ef, rs

foo = fg.red + 'This is red text!' + fg.rs
qui = fg(255, 10, 10) + 'This is red text using 24bit colors.' + fg.rs

# Add custom colors:

from sty import Style, RgbFg

fg.orange = Style(RgbFg(255, 150, 50))

buf = fg.orange + 'Yay, Im orange.' + fg.rs

print(foo, bar, baz, qux, qui, buf, sep='\n')

fg.red
工作正常,但 RGB 指定线未产生正确的颜色。也没有强度。还有什么其他建议可以让我在 Windows 机器上工作吗?

python windows colors
1个回答
0
投票

您可以找到几个可以解决您问题的好软件包。坦白说,我是 Python Colorist 包的作者。 Colorist 轻量级、简洁,并且支持开箱即用的 RGB 颜色。只需使用

pip install colorist
安装软件包并输入:

from colorist import ColorRGB, BgColorRGB

dusty_pink = ColorRGB(194, 145, 164)
bg_steel_blue = BgColorRGB(70, 130, 180)

print(f"I want to use {dusty_pink}dusty pink{dusty_pink.OFF} and {bg_steel_blue}steel blue{bg_steel_blue.OFF} colors inside this paragraph")

如果您更喜欢在 HSL 中定义颜色,也可以,因为 Colorist 会将其转换为 RGB:

from colorist import ColorHSL, BgColorHSL

mustard_green = ColorHSL(60, 56, 43)
bg_steel_gray = BgColorHSL(190, 2, 49)

print(f"I want to use {mustard_green}mustard green{mustard_green.OFF} and {bg_steel_gray}steel blue{bg_steel_gray.OFF} colors inside this paragraph")

或者类似地,您也可以用十六进制定义颜色:

from colorist import ColorHex, BgColorHex

watermelon_red = ColorHex("#ff5733")
bg_mint_green = BgColorHex("#99ff99")

print(f"I want to use {watermelon_red}watermelon pink{watermelon_red.OFF} and {bg_mint_green}mint green{bg_mint_green.OFF} colors inside this paragraph")

请注意,并非所有终端都支持高级 RGB 颜色,因为它们不是初始 ANSI 规范的一部分。您可能想尝试各种终端来找到适合您的终端。

© www.soinside.com 2019 - 2024. All rights reserved.