我剛剛學會如何使用vt100轉義碼在終端(\033[30m
和\033[40m
)中更改背景和文本顏色。我想知道是否有使用十六進制顏色代碼的方法,而不是限於使用30 - 37或40 - 47時獲得的8種顏色。例如:\033[#48FF1Fm
。 如果這是不可能的,我不會感到驚訝,但我認爲這值得問。你可以使用十六進制顏色值與vt100轉義碼C++
回答
VT-100是一箇舊的終端,我很驚訝它有顏色逃脫代碼!
另請參閱此堆棧溢出List of ANSI color escape sequences它有一些很好的答案。
以下部分從ANSI/VT100 Terminal Control Escape Sequences提供了一個示例。
Set Attribute Mode <ESC>[{attr1};...;{attrn}m
Sets multiple display attribute settings. The following lists standard attributes:
0 Reset all attributes
1 Bright
2 Dim
4 Underscore
5 Blink
7 Reverse
8 Hidden
Foreground Colours
30 Black
31 Red
32 Green
33 Yellow
34 Blue
35 Magenta
36 Cyan
37 White
Background Colours
40 Black
41 Red
42 Green
43 Yellow
44 Blue
45 Magenta
46 Cyan
47 White
然而,它看起來不僅僅是你找到的標準顏色,這取決於設備的支持還有看起來是調色板機制的東西。
但是,請參閱此文章Bash tips: Colors and formatting (ANSI/VT100 Control Sequences瞭解更多密集列表以及其他鏈接。
對於256種前景色,轉義序列爲「[38; 5; ColorNumberm」,其中顏色編號ColorNumber來自所提供的表格。看起來'm'是顏色編號之後的必需字符。
對於256種背景色,轉義序列爲「[48; 5; ColorNumberm」。
您可以使用24位顏色(注意,十六進制顏色不一定是24位,而你並不需要十六進制表示24位色):
printf "\x1b[${bg};2;${red};${green};${blue}m\n"
例子:
printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n"
但是,請注意,您的終端必須支持它(vt100當然不支持它,但一些軟件終端仿真器)。
還有256種顏色模式得到相當廣泛的支持 - 如果你想要16種以上的顏色,這可能是你最好的選擇。
來源:
VT100的從來沒有做顏色(參見常見問題的ncurses How do I get color with VT100?)。關於VT100的一個有用的信息來源是http://vt100.net
在OP的問題中的顏色序列在Control Functions for Coded Character Sets粗略記錄爲SGR(選擇圖形繪製)控制序列的值。這些以及xterm 256色擴展都記錄在XTerm Control Sequences中。互聯網上有許多地方可以找到有關這些控制序列的信息,但並非所有信息都是有用的信息來源。
- 1. 轉換顏色的十六進制值
- 2. python字符串與十六進制轉義十六進制值
- 3. 將十六進制顏色代碼轉換爲顏色名稱
- 4. 將RGBA值轉換爲十六進制顏色代碼
- 5. R/Dygraphs十六進制顏色代碼
- 6. 十六進制顏色代碼多個#
- 7. 訂購顏色的十六進制值
- 8. 是否可以確定指定顏色的十六進制值?
- 9. 轉換十六進制顏色代碼轉化爲現實的十六進制值在PHP
- 10. 使用C#對十六進制顏色進行排序#
- 11. 將浮點值轉換爲灰度十六進制顏色值
- 12. 將十六進制HTML顏色轉換爲Amiga colorregister十六進制(和後面)
- 13. 十六進制轉換到一個打火機十六進制顏色
- 14. 獲取給定顏色十六進制代碼的較暗顏色十六進制代碼
- 15. 如何十六進制顏色轉換爲RGB顏色(24位)
- 16. 將十六進制顏色字符串轉換爲RGB顏色
- 17. 轉換UINT顏色ARGB十六進制顏色KML
- 18. 轉換ASCII值以十六進制值
- 19. 哪個腳本編輯器可以編碼十六進制顏色值?
- 20. 從十六進制顏色代碼中找到顏色名稱
- 21. 將十六進制顏色代碼作爲gridview背景顏色
- 22. 十六進制到十進制的轉換與sprintf的用C
- 23. 將字符串轉換爲顏色十六進制代碼
- 24. Swift:將字符串轉換爲十六進制顏色代碼
- 25. 轉換爲3位十六進制顏色代碼
- 26. 如何將顏色代碼轉換爲十六進制?
- 27. 如何將十六進制轉換爲顏色代碼?
- 28. 將system.windows.media.brush轉換爲十六進制顏色代碼
- 29. 我們如何反轉十六進制顏色代碼?
- 30. 使用javascript將css系統顏色轉換爲十六進制?
謝謝你是一個非常有用的網站@Richard – Stu