我确定有人已经解决了这个问题:什么是将十六进制颜色值(从000000到FFFFFF的任何值)转换为3个十进制值的简单方便的方法0到255(如果你不熟悉如何颜色在传统的HTML代表,前两个十六进制数字是第一个十进制数,等等。)在UNIX shell脚本中将十六进制颜色转换为十进制RGB值
3
A
回答
5
您可以使用像脚本:
#!/bin/sh
# hextorgb.sh
hexinput=`echo $1 | tr '[:lower:]' '[:upper:]'` # uppercase-ing
a=`echo $hexinput | cut -c-2`
b=`echo $hexinput | cut -c3-4`
c=`echo $hexinput | cut -c5-6`
r=`echo "ibase=16; $a" | bc`
g=`echo "ibase=16; $b" | bc`
b=`echo "ibase=16; $c" | bc`
echo $r $g $b
exit 0
,并用它喜欢:
./hextorgb.sh "11001A"
导致输出像
:
17 0 26
它可以通过测试参数等得到改善,但你想要做什么。
6
$ cat hexrgb.sh
#!/bin/bash
hex="11001A"
printf "%d %d %d\n" 0x${hex:0:2} 0x${hex:2:2} 0x${hex:4:2}
$ ./hexrgb.sh
17 0 26
如果你不愿意使用bash的子串扩展,我还是用printf的转换。
+0
这更优雅。 –
相关问题
- 1. 将RGB颜色值转换为十六进制
- 2. 将十进制转换为十六进制和十六进制
- 3. shell脚本转换十进制到十六进制
- 4. 如何十六进制颜色转换为RGB颜色(24位)
- 5. 将RGB转换为十六进制C++?
- 6. 转换颜色的十六进制值
- 7. 将RGB转换为十六进制颜色
- 8. 在Python中将十六进制值转换为十进制
- 9. RGB转换为十六进制的PHP
- 10. 将十进制值转换为32位浮点十六进制
- 11. VB.Net - 将多字节十六进制值转换为十进制
- 12. 将4字节十六进制转换为十进制值
- 13. 在shell脚本中将二进制数据转换为十六进制数据?
- 14. 将浮点值转换为灰度十六进制颜色值
- 15. 将字符串转换为十六进制到十六进制
- 16. 在Swift中将十六进制转换为十进制
- 17. 在Lua 4中将十进制转换为十六进制?
- 18. 将十六进制转换为十进制在swift中
- 19. 如何在bash中将十进制转换为十六进制?
- 20. 如何在Python中将十六进制转换为十进制?
- 21. 将RGB颜色值转换为十进制
- 22. 将十六进制颜色代码转换为颜色名称
- 23. 十六进制和十进制转换
- 24. 将十六进制值转换为ascii
- 25. 如何将十六进制值转换为颜色名称
- 26. 将十六进制转换为二进制,然后转换为十进制
- 27. 使用限制将十进制转换为十六进制
- 28. 在PHP中将十六进制背景颜色转换为GIF
- 29. 在C#中将颜色名称转换为十六进制
- 30. 在Arduino上将整数/十进制转换为十六进制?
关于'bc'的小记;十六进制输入数据*必须*为大写。否则它会咬你的屁股下线,当你给它'ff'这被解释为变量ff,它没有设置,所以它给你0. – plundra
谢谢,我会改正这一点。我只想演示转换,脚本可以通过改进。 –
为了让这个在我的机器上工作,我不得不将'$ 0'更改为'$ 1' –