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