在Python中将Hex转换为RGB值

在这里解决Jeremy的响应:将十六进制颜色转换为RGB,反之亦然,我能够获得一个python程序来转换预设的颜色十六进制代码(示例#B4FBB8),但是从最终用户的角度来看,我们不能要求人们进行编辑代码并从那里运行。如何提示用户输入一个十六进制值,然后从那里吐出一个RGB值?

到目前为止,这是我的代码:

def hex_to_rgb(value):

value = value.lstrip('#')

lv = len(value)

return tuple(int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3))

def rgb_to_hex(rgb):

return '#%02x%02x%02x' % rgb

hex_to_rgb("#ffffff") # ==> (255, 255, 255)

hex_to_rgb("#ffffffffffff") # ==> (65535, 65535, 65535)

rgb_to_hex((255, 255, 255)) # ==> '#ffffff'

rgb_to_hex((65535, 65535, 65535)) # ==> '#ffffffffffff'

print('Please enter your colour hex')

hex == input("")

print('Calculating...')

print(hex_to_rgb(hex()))

使用该行,print(hex_to_rgb('#B4FBB8'))我可以吐出正确的RGB值,即(180,251,184)

这可能非常简单-我对Python仍然很粗鲁。

回答:

我相信这可以满足您的需求:

h = input('Enter hex: ').lstrip('#')

print('RGB =', tuple(int(h[i:i+2], 16) for i in (0, 2, 4)))

(以上内容是针对Python 3编写的)

样品运行:

Enter hex: #B4FBB8

RGB = (180, 251, 184)

写入文件

fhandle在保留格式的同时使用句柄写入文件:

fhandle.write('RGB = {}'.format( tuple(int(h[i:i+2], 16) for i in (0, 2, 4)) ))

以上是 在Python中将Hex转换为RGB值 的全部内容, 来源链接: utcz.com/qa/401910.html

回到顶部