前言
以前開發(fā)頁面的時(shí)候用到的顏色一般直接寫hex或者rgb\rgba座泳。如白色的表示可以是:
#fff或者#ffffff惠昔, rgb(255,255挑势,255)镇防, rgba(255, 255, 255, 1)
我一般常用都是這么寫,也沒有研究過他們是啥關(guān)系潮饱,直到現(xiàn)在有個(gè)需求是導(dǎo)出excel的時(shí)候需要設(shè)置單元格的背景色来氧、字體色的時(shí)候,而且規(guī)定只能是argb格式的香拉,我一下子懵了啦扬,我前端只用過hex\rgba,argb又是啥凫碌?或者h(yuǎn)ex\rgba怎么轉(zhuǎn)argb呢扑毡?
轉(zhuǎn)換原理
拿白色來舉例
- hex:
#fff
或者#ffffff
- rgba:
rgba(255, 255, 255, 1)
- argb:
argb(1, 255, 255, 255)
不過我們前端是不用argb的,只用rgba在這種盛险。
一圖勝千言
顏色轉(zhuǎn)換.png
回到我的需求需要argb格式的時(shí)候瞄摊,那么是否可以直接拿argb(1, 255, 255, 255)
呢,并不是苦掘,它要的是hex形式表示的argb,所以如果輸入的是rgba(255,255,255,1)
的話還是要先轉(zhuǎn)換成hex #ffffffff
,再把a
那部分挪到前面,在這里8個(gè)字母都是ff
所以看不出來换帜。最終輸出 {argb:ffffffff
}給到excel。
問題:假如hex是3位表示怎么轉(zhuǎn)換成rgba?很簡單鹤啡,先分成3份惯驼,每份兩個(gè)字母,如#ff0
-> #ffff00
揉忘。