当前位置: 首页 > 面试题库 >

在Python中将Hex转换为RGB值

羊舌昆杰
2023-03-14
问题内容

在这里解决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)) ))


 类似资料:
  • 问题内容: 如何在Java中将十六进制颜色转换为RGB代码?在Google中,大多数示例是关于如何从RGB转换为十六进制的。 问题答案: 我想应该这样做:

  • 将 RGB 值转换为颜色代码。 使用按位左移运算符(<<)和 toString(16) 将给定的RGB参数转换为十六进制字符串,然后使用 String.padStart(6,'0') 得到一个6位的十六进制值。 const RGBToHex = (r, g, b) => ((r << 16) + (g << 8) + b).toString(16).padStart(6, '0'); RGBTo

  • 问题内容: 我正在开发通过与服务器进行通讯的移动应用。这是我第一次使用PHP。我设法将数据上传到数据库中。现在,我需要发送图像以将其存储在ftp服务器中。为此,我转换并从我的应用程序发送。 服务器端 我得到了十六进制代码,但不确定如何将其转换为图像并存储在ftp服务器中。我在这里真的很挣扎。我用谷歌搜索,但找不到确切的一个。 任何帮助深表感谢。 问题答案: 将十六进制字符串转换为二进制: 等价于,

  • 问题内容: 给定一个css颜色值,例如: 假设背景为白色,如何将其转换为考虑了alpha分量的RGB十六进制值? 问题答案: 由于alpha值都会减弱背景色和颜色值,因此可以实现以下目的: (以交互方式进行尝试:http : //marcodiiga.github.io/rgba-to-rgb- conversion )

  • 问题内容: 关于从到的数据复制,我有以下问题: 上,我有一张表格,其中包含(为简单起见)两列:和。 被定义为。定义为。 通过将字符串转换为十六进制数,例如,从SQL被复制到或以通过使用以下SQL查询: 会在哪儿。 换句话说,COL1包含十六进制值,但为字符串(抱歉,如果措词不正确)。 我需要将十六进制值转换回字符串并将此值放入。 SQL查询应该执行什么转换?我知道该怎么做,但不知道如何做。 注意:

  • 问题内容: 我在互联网上找到了一种将RGB值转换为HSV值的方法。不幸的是,当值是R = G = B时,由于0/0操作,我得到的是NaN。 您是否知道Java中是否存在用于此转换的实现方法,或者当我获得0/0除法以获取正确的HSV值时该怎么办? 这是我的方法,它是根据Internet上的一些代码改编而成的: 问题答案: 我很确定您想要的是RGBtoHSB