我正在尋找一種函數將RGB元組(255, 255, 255
)或HTML十六進制(#FFFFFF
)轉換爲X11顏色(0...255 int
)以管理Unix終端中的顏色。我查看了互聯網,但沒有找到類似的東西,所以我要求輸入代碼或鏈接到一個網站,其中包含有關如何在Python中執行此操作的代碼或信息。將HTML HEX顏色或RGB元組轉換爲X11顏色
2
A
回答
1
您不能自動轉換爲x11顏色。
x11顏色基本上只是名稱映射到任意RGB值,所以從RGB到x11的唯一方法是反轉地圖。
如果您想將不在x11中的RGB顏色轉換爲x11中最接近的匹配,這將非常困難。
+0
附錄:這些不是你說的「X11顏色」。它們是* 256色終端仿真器*顏色。 X11本身使用RGB元組和/或可編程顏色映射。 – zwol 2012-01-09 16:01:13
1
如果我理解你的問題,我認爲你不能這樣做。 RGB元組(及其表示形式爲HTML的6位十六進制數字)表示RGB色彩空間中的特定顏色。您提到的Unix終端中的單個整數不是特定顏色,而是顏色表中的索引。例如,一個終端上的顏色15可能是#ff0000,而另一個終端上的#33ff33。兩者之間確實沒有轉換。
1
正如@chepner和@Shawabawa提到的那樣,沒有從RGB代碼或6位十六進制的3元組到8位(0-255)的單個數字的映射。事實上,如果有的話,由於映射是多對一的,所以一些信息將不得不丟失。但是,您可以執行的操作是使用(BASH)顏色代碼作爲構建Python腳本的起點。例如,下列變量:
txtblk='\e[0;30m' # Black - Regular
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
txtylw='\e[0;33m' # Yellow
txtblu='\e[0;34m' # Blue
txtpur='\e[0;35m' # Purple
txtcyn='\e[0;36m' # Cyan
txtwht='\e[0;37m' # White
bldblk='\e[1;30m' # Black - Bold
bldred='\e[1;31m' # Red
bldgrn='\e[1;32m' # Green
bldylw='\e[1;33m' # Yellow
bldblu='\e[1;34m' # Blue
bldpur='\e[1;35m' # Purple
bldcyn='\e[1;36m' # Cyan
bldwht='\e[1;37m' # White
unkblk='\e[4;30m' # Black - Underline
undred='\e[4;31m' # Red
undgrn='\e[4;32m' # Green
undylw='\e[4;33m' # Yellow
undblu='\e[4;34m' # Blue
undpur='\e[4;35m' # Purple
undcyn='\e[4;36m' # Cyan
undwht='\e[4;37m' # White
bakblk='\e[40m' # Black - Background
bakred='\e[41m' # Red
badgrn='\e[42m' # Green
bakylw='\e[43m' # Yellow
bakblu='\e[44m' # Blue
bakpur='\e[45m' # Purple
bakcyn='\e[46m' # Cyan
bakwht='\e[47m' # White
txtrst='\e[0m' # Text Reset
你可以把它變成一個腳本,即
cmd = "export PS1='%s'"
prompt = "%s foo %s bar : "
prompt = prompt % (undred, txtblu)
print cmd % prompt
當我運行的輸出,我得到的是這樣的:
[email protected]:~/test/color$ python test.py
export PS1='\e[4;31m foo \e[0;34m bar : '
[email protected]:~/test/color$ export PS1='\e[4;31m foo \e[0;34m bar : '
foo bar :
而且現在foo是紅色並加下劃線的,酒吧是藍色的。
0
Fabulous可以將任意的RGB顏色映射到最接近的xterm 256色。
相關問題
- 1. 將html或rgb顏色轉換爲system.drawing.brush
- 2. 如何將RGB顏色或Hex轉換爲HSB?
- 3. 如何將RGB轉換爲HTML顏色?
- 4. 將HEX轉換爲最接近的X11顏色編號
- 5. ASCII顏色爲HEX顏色
- 6. Android - 將ARGB顏色轉換爲HEX
- 7. 將顏色RGB轉換爲HEX(int結果)
- 8. 如何將HEX顏色轉換爲smali顏色(Java)?
- 9. 將RGB顏色轉換爲C中最接近的ACI顏色#
- 10. 將十六進制顏色字符串轉換爲RGB顏色
- 11. 將整數顏色值轉換爲RGB
- 12. 將Pantone顏色轉換爲RGB?
- 13. 如何將顏色值轉換爲RGB
- 14. 將XYZ顏色轉換爲RGB
- 15. 將顏色名稱轉換爲RGB
- 16. 將實驗室顏色轉換爲RGB
- 17. 將css顏色轉換爲16位rgb
- 18. iOS將顏色轉換爲RGB
- 19. Android - 將ARGB顏色轉換爲RGB
- 20. 將RGB轉換爲CIELAB顏色空間
- 21. 將8位顏色轉換爲RGB值
- 22. 將RGB顏色轉換爲OLE_Color
- 23. 轉換RGB值轉換爲顏色
- 24. 在Python中將RGB顏色元組轉換爲六位代碼
- 25. RGB到CIE顏色轉換
- 26. Microsoft Access顏色代碼轉換邏輯爲RGB或HEX或DEC值
- 27. 平均顏色(X11顏色)
- 28. HSV顏色轉換爲RGB顏色算法 - 線性插值顏色
- 29. RGB LED顏色褪色/轉換庫
- 30. 如何十六進制顏色轉換爲RGB顏色(24位)
這不是代碼,但它可以幫助你。 http://stackoverflow.com/a/31057489/832708 – BradH 2015-06-25 18:09:33