先看看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开始的字符串。
于是就有了第一个版本。
第一个版本
第一个版本执行结果
写出这样的基础版本已经基本可以得到我想要的结果了,缺点是还需要我手动收入,动用大脑记忆十六进制色值然后输入。希望可以直接复制最后结果。
新闻热点
疑难解答