如何通过24位RGB代码(r,g,b)在终端输出自定义颜色?
24位RGB终端颜色输出方案(支持macOS 11.6.1)
可以使用24位RGB代码实现自定义颜色输出,macOS 11.6.1自带的Terminal应用及主流终端(如iTerm2)均支持该特性。
核心原理
ANSI转义码中,24位颜色的格式为:
- 前景色:
\e[38;2;R;G;Bm(R、G、B取值范围0-255) - 背景色:
\e[48;2;R;G;Bm - 重置颜色:
\e[m(恢复终端默认配色)
示例代码
以下是一个演示24位RGB颜色输出的C程序:
#include <stdio.h> // 输出指定RGB前景色的文本,随后重置颜色 void print_rgb(int r, int g, int b, const char* content) { printf("\e[38;2;%d;%d;%dm%s\e[m ", r, g, b, content); } int main(void) { // 演示基础原色 print_rgb(255, 0, 0, "红色"); print_rgb(0, 255, 0, "绿色"); print_rgb(0, 0, 255, "蓝色"); printf("\n"); // 演示渐变效果(从橙到粉) for (int b = 0; b <= 255; b += 15) { print_rgb(255, 165, b, "■"); } printf("\n"); return 0; }
关键说明
- 兼容性验证:macOS 11.6.1的Terminal应用默认支持24位颜色,可通过
echo $TERM确认终端类型为xterm-256color或更高版本。 - 与256色方案的差异:256色依赖预定义调色板,而24位RGB支持1677万种颜色,完全满足自定义色彩需求。
- 颜色重置:每次输出带颜色的文本后,建议使用
\e[m重置,避免后续文本继承当前颜色设置。
内容的提问来源于stack exchange,提问作者ecjb
相关产品推荐
相关产品推荐

