需求說明
公司的 UI 設(shè)計(jì)小哥,已經(jīng)轉(zhuǎn)用 Zeplin 很久了。Zeplin 的設(shè)計(jì)稿展示頁面的顏色色值使用十進(jìn)制的 RGB 表示的,在 Android 中的顏色表示大多情況下都需要十六進(jìn)制的 RGB 表示。我的數(shù)學(xué)沒有好到直接看到十進(jìn)制就可以心算得到十六進(jìn)制的結(jié)果,所以我需要一個(gè)工具,輸入十進(jìn)制的 RGB ,得到十六進(jìn)制的色值,最好可以方便復(fù)制。
Zeplin 的顏色色值顯示示例
原有處理方式
因?yàn)槲視?huì) Python (僅限于終端輸入 python 然后當(dāng)做計(jì)算器算,或者用 hex() 函數(shù)把十進(jìn)制轉(zhuǎn)換成十六進(jìn)制),所以遇到這樣的問題我當(dāng)然是采用python 的 hex() 函數(shù)做轉(zhuǎn)換,然后手動(dòng)結(jié)果輸入到 Android Studio 中。
采用 hex 函數(shù)手動(dòng)轉(zhuǎn)換色值
動(dòng)機(jī)
人總是懶得,想要寫這個(gè)小工具已經(jīng)很久了,我也打過有過構(gòu)思就是:
輸入: 類似 RGB 的十進(jìn)制值(110, 122 138),用空格或者逗號(hào)分割一下。
輸出: 一個(gè)十六進(jìn)制的 RGB 顏色色值(#6e7a8a)。
但就一直沒動(dòng)手,一直講究著。真懶!
開干
1.首先我需要輸入函數(shù)
我打開我之前學(xué)習(xí) Python 的文件夾,里面正好有一個(gè) raw_input 的示例:
Python代碼
#!/usr/bin/python #coding=utf-8 raw_input("/n/n等輸入")
在終端執(zhí)行 python input.py 后, 可以輸入文字。
我需要接受到用戶輸入的信息。怎么接收忘記了, Google 之,得到結(jié)果,順便改改輸入提示語,打印出輸入的內(nèi)容:
Python代碼
input = raw_input("/n輸入顏色 比如50 144 60:/n") print(input)
2. 需要分割字符
查詢到python 字符分割函數(shù) split(),默認(rèn)不傳入?yún)?shù)就可以用空白符分割。原本還說用英文逗號(hào)(,)作為分隔符,現(xiàn)在看來可以省了,直接用空格分割,無論多少空格都可以自動(dòng)分割。于是加上代碼:
Python代碼
rgbColorArray = input.split() print(rgbColorArray)
3. 需要遍歷數(shù)組
簡單的遍歷數(shù)組的是怎么弄的也忘記了,同樣搜索:
Python代碼
for x in rgbColorArray: print(x)
4. 字符轉(zhuǎn)成十六進(jìn)制
這個(gè)時(shí)候拿到了字符串,要變成十六進(jìn)制的字符串。這個(gè)時(shí)候需要兩個(gè)函數(shù), int() 和 hex(),int 函數(shù)可以將字符串轉(zhuǎn)成 int 類型,而 hex 則接受數(shù)字參數(shù),返回字符串。 0x開始的字符串。
新聞熱點(diǎn)
疑難解答
圖片精選