在开发中我们经常会遇到需要去计算某个透明度对应的十六进制值的情况, 比如80%的透明度对应的十六进制表示是: CD . 之前我的做法是先用计算器计算出此百分比对应的十进制值是多少, 然后再转化为对应的十六进制值. 虽然也简单但还是有点不太方便, 上周工作不忙就写了一个Alfred的workflow专门用来计算这个值.

效果

调出Alfred后输入alp然后按SpaceEnter接着再输入要想计算的透明度的百分比即可, 比如: alp 80代表要计算80%的透明度对应的Hex值.输入完成后再按一下Enter键即可完整计算.

同时会弹出一条通知, 告知用户值已计算好, 并自动拷贝到了剪切板中, 直接Command-V粘贴到需要用的地方即可.

实现

结构图如下:

关键逻辑是用Python写的, 代码如下:

1
2
3
4
5
6
7
8
import sys

query = "{query}"
valueFloat = float(query)/100.0 * 256
valueInt = int(round(valueFloat))
valueHex = hex(valueInt).split('x')[1].upper()

sys.stdout.write(valueHex)

此Workflow的完整源码在这里, clone下来双击即可完成安装.

最后

个人感觉像Alfred这类的软件(比如还有DropZone)非常适合程序员使用, 通过简单的几行脚本代码就可以制作出一个很实用的小插件, 大大的提高工作效率.


版权声明

文章版权归本人所有,如需转载需在明显位置处保留作者信息及原文链接 !