【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 结果如下:

如果对你有帮助的话,请‘点赞’、‘收藏’,‘关注’,你们的支持是我更新的动力。
欢迎关注公众号【森气笔记】。
本文介绍了一个简单的Python程序,用于将RGB颜色值转换为16进制颜色码,方便在各种软件中使用。通过读取RGB文件并应用转换逻辑,可以轻松获得统一的颜色表达方式。
288

被折叠的 条评论
为什么被折叠?



