【Python基础绘图】RGB颜色转16进制颜色
01 引言:
非常喜欢NCL的色带,想在其他软件中运用,我们可以借助NCL官方提供了rgb文件来实现。不过很多时候我更习惯用十六进制的颜色表达,故写个小程序来自动转换一下,记录在此,分享给有需要的同学。
02 代码如下:
# -*- encoding: utf-8 -*-
'''
@File : rgb2hex.py
@Time : 2022/09/18 23:00:06
@Author : HMX
@Version : 1.0
@Contact : kzdhb8023@163.com
'''
# here put the import lib
# 其实原理很简单,RGB中的三个数据分别对应两个十六进制的数据,分别是RGB中该数据除以16的商和余数。
def num2hex(num):
a = hex(int(int(num)/16))[-1]# 商
b = hex(int(int(num)%16))[-1]# 余数
return(a+b)
def main(fp):
reslist = []
with open (fp,'r') as f:
for line in f.readlines()[2:]:# 注意需要跳过前两行
rgb = line.replace('\n','')# 去除换行符
rgb = rgb.replace(' ',' ')# 去除多余空格
rgb = rgb.replace(' ',' ')# 再次去除多余空格
rgb = rgb.split(' ')
rgb.remove('')
res = '#'
for i in rgb:
res = res + num2hex(i)
reslist.append(res)
return reslist
if __name__=='__main__':
fp = r'C:\Users\EDZ\Desktop\drought_severity.rgb'
reslist = main(fp)
print(reslist)
03 结果如下:
如果对你有帮助的话,请‘点赞’、‘收藏’,‘关注’,你们的支持是我更新的动力。
欢迎关注公众号【森气笔记】。