位置: 编程技术 - 正文

利用Python实现颜色色值转换的小工具(python里面颜色)

编辑:rootadmin

推荐整理分享利用Python实现颜色色值转换的小工具(python里面颜色),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python能用的颜色,python里面颜色,python颜色代码rgb,python中好看的颜色,python颜色代码表,python颜色表,python3颜色代码,python3颜色代码,内容如对您有帮助,希望把文章链接给更多的朋友!

先看看Zeplin 的颜色色值显示示例

原有处理方式

因为我会 Python (仅限于终端输入 python 然后当做计算器算,或者用 hex() 函数把十进制转换成十六进制),所以遇到这样的问题我当然是采用python 的 hex() 函数做转换,然后手动结果输入到 Android Studio 中。

采用 hex 函数手动转换色值

动机

人总是懒得,想要写这个小工具已经很久了,我也打过有过构思就是:

输入: 类似 RGB 的十进制值(, ),用空格或者逗号分割一下。

输出: 一个十六进制的 RGB 颜色色值(#6e7a8a)。

但就一直没动手,一直讲究着。真懒!

开干

1.首先我需要输入函数

我打开我之前学习 Python 的文件夹,里面正好有一个 raw_input 的示例:

在终端执行 python input.py 后, 可以输入文字。

我需要接受到用户输入的信息。怎么接收忘记了, Google 之,得到结果,顺便改改输入提示语,打印出输入的内容:

2. 需要分割字符

查询到python 字符分割函数 split() ,默认不传入参数就可以用空白符分割。原本还说用英文逗号(,)作为分隔符,现在看来可以省了,直接用空格分割,无论多少空格都可以自动分割。于是加上代码:

3. 需要遍历数组

简单的遍历数组的是怎么弄的也忘记了,同样搜索:

4. 字符转成十六进制

这个时候拿到了字符串,要变成十六进制的字符串。这个时候需要两个函数, int() 和 hex() ,int 函数可以将字符串转成 int 类型,而 hex 则接受数字参数,返回字符串。 0x开始的字符串。

于是就有了第一个版本。

第一个版本

第一个版本执行结果

写出这样的基础版本已经基本可以得到我想要的结果了,缺点是还需要我手动收入,动用大脑记忆十六进制色值然后输入。希望可以直接复制最后结果。

再进一步

虽然结果已经出来了,但是还是希望可以在进步一些,有几个问题:

1、当要转换的数字小于的时候 只有一位不显示,比如 显示的结果是0xB

利用Python实现颜色色值转换的小工具(python里面颜色)

2、现实的结果多了0x

3、显示的结果最好连在一起方便复制,而不是每个颜色一行。

那么就需要遍历颜色值数组,去掉0x 字符串, 判断小于的前面补上0。连续在一起输出结果。

for 循环遍历数组

前面用到了 for 循环,是从查到的范例,不过多行就不知道怎么弄了。java 写多了一般都是 { } 大括号括起来。

继续查资料,于是知道是大概下面这样的用法。

变量声明

由于需要不换行,所以就需要字符连接,而不是直接 print。

声明变量又遇到问题了。根据前面的变量使用情况,找了些 python 代码看了看,大概知道不用声明什么类型,直接用就好了。

于是有了代码:

字符串裁剪 和拼接。

需要把多余的0x 两位去掉。

用到字符串裁剪,依然寻找范例。

顺便问了旁边也在学习 python 的同事,他告诉我后面的索引可以省略,代表直接裁剪到结尾。

比如上面的例子如果 print "var2[1:]", var2[1:] 得到的结果应该是 ython Runoob

所以有代码:

也可以从后往前数,比如还是上面的范例可以写成。比如上面的例子如果 print "var2[-1:]" , var2[-1:] 得到的结果应该是 ob 也就是字符串的后两位。

于是我们这里可以写成hex(intx)[-2:] (因为输出字符串类似是0x, 这样的)就是这个导致我后面写了个 bug,我也文章最后说明这个 bug 是什么。

if else 判断

接着要做一个判断,给一位的补上0

这样就有了python 文件:

还有最后一步:把 ColorU 加入到环境变量中

这个时候我可以得到我要的记过了,但是有点不太方便,我需要到这个 python 文件所在的目录下写

或者写全 colorU.py 这个路径。都是很麻的事情,所以我需要把 colorU 加入环境变量中。我用的是 zsh,所以找到环境变量的配置文件:~/.zshrc,末尾加上配置:

这个是经过另外以为同事指导后的最后可行版本,我最初的思路是把 colorU.py 文件设置成可执行文件,然后加入到 Path 当中。结果我把 colorU.py 这个文件的地址加入到了 Path 中,世界上PATH 应该是一个目录。这样添加别名的方式更方便。

后续

后来据说 Zeplin 的客户端可以默认显示十六进制的色值,而我用的是网页版的,所以没有。也就是说如果我装客户端就可以不用我写的这个脚本了。但没关系我学习了 python,写了我自己的第一个真正有用的 python 代码。

一个bug:我是在写这篇文章的时候才发现这个 bug 的,类似0x这样的字符串从后往前裁剪的时候写[-2:],当然没有问题,但是写0xf 这样的字符串就会有问题了。程序输入 5 5 5得到的结果是 #0xxx5。修改成[2:] 的裁剪就可以了。

倒向裁剪字符串引起的bug

还可以继续升级体验:

a. 直接在终端中输入 colorU 就可以得到结果 #e7ea7b;

b. 配合Alfred, 呼出 Alfred 窗口后,输入色值,得到结果,回车直接复制十六进制到粘贴板。

c. 保存之前已经转换过的色值,方便重复使用的颜色,直接复制十六进制颜色。

总结

标签: python里面颜色

本文链接地址:https://www.jiuchutong.com/biancheng/383432.html 转载请保留说明!

上一篇:Python实现批量检测HTTP服务的状态(python 批量查询)

下一篇:Python中断言Assertion的一些改进方案(Python中断言语句)

  • 城镇土地使用税的征税范围有哪些
  • 资产负债表利润表和现金流量表之间的关系
  • 单一窗口出口退税申报
  • 转出未交增值税和转出多交增值税
  • 暂估发票到账出入库单要填吗
  • 关于销售返利的说法正确的有
  • 工厂采购原材料销售给外贸公司
  • 普通硅酸盐水泥和矿渣硅酸盐水泥的区别
  • 防暑降温费如何做账
  • 出口货物收汇是什么意思
  • 机械设备已使用怎么处理
  • 上个月开票这个月确认收入
  • 教育附加税怎么退
  • 小微企业工会
  • 需要安装和检验的什么时候确认收入
  • 因质量问题扣款协议
  • 技术咨询服务费计入什么科目
  • 法人个人账户收钱算不算公司收钱
  • 微软2003系统
  • 进程调度算法例题分析
  • 注销公司如何注销
  • 什么是原始凭证?审核原始凭证主要审查哪些内容?
  • 小规模纳税人销售货物税率是多少
  • 不能运行windows10的设备有哪些
  • 集团公司对子公司如何进行资金管理
  • torch.save用法
  • 补缴上年度未开票收入增值税,怎么做账
  • thinkphp 快速入门
  • php常见的错误级别
  • 一个楼盘可以开盘几次
  • 确认收入需要哪些资料
  • 前端使用vue
  • php 微信公众号自定义菜单
  • 购进销售农产品正常损耗怎么算
  • java公平锁有哪些
  • js读取json配置文件
  • 织梦标签工具
  • 电子承兑汇票贴现怎么操作
  • 新旧会计准则口径
  • 小微企业的税收优惠政策2023
  • 以前未入账固定资产补入账
  • 原材料盘亏属于自然损耗
  • 将MySQL help contents的内容有层次的输出方法推荐
  • 事业单位以固定工资为准
  • var文件是什么意思
  • 企业应付账款的借方登记
  • 年金一定是一年一次吗
  • 以前年度损益调整账务处理分录
  • 进口ddp税款如何缴纳
  • 当月费用次月报销
  • 向其他公司投资专利账务处理
  • 外资企业贷款条件
  • 发生额大额标准怎么确定
  • 福利费取得的专票不能抵扣账怎么做
  • 64位CentOs7源码安装mysql-5.6.35过程分享
  • 如何win8.1升级win10正式版
  • win7与ubuntu双系统
  • 如何下载苹果图书
  • 无线网络找不到证书
  • Mac系统中pr插件汉化
  • win7 c盘莫名其妙满了
  • nomoreporn.exe - nomoreporn是什么进程 有什么用
  • 怎么处理人际关系
  • windows 7如何连接
  • android app 开发框架
  • js秒数转时间
  • android之Java+html+javascript混合开发
  • sell脚本
  • android遇到的难题
  • linux shutdown命令详解
  • unity射击游戏毕业设计
  • javascript初级教程
  • qt Android开发
  • Android android.support.v4.widget.SlidingPaneLayout 侧滑示例
  • 欠税款要坐牢吗
  • 江苏税务查询授权验证码
  • 江苏地税局官网网站
  • 税务志愿者服务队
  • 国家税务总局税务局官网
  • 税务稽查增值税账务调整案例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设