Python String to triplet color

时间:2014-04-15 21:12:01

标签: python string colors pygame rgb

我可以将字符串三元组制作成RGB颜色吗?像这样:

color = "255,255,255"
background.fill((color))

此代码为我提供了无效的颜色参数"。 为什么我想这样做?该字符串保存在文件中。

1 个答案:

答案 0 :(得分:3)

pygame.Surface.fill期待:

  

颜色参数可以是RGB序列,RGBA序列或   映射颜色索引。如果使用RGBA,Alpha(RGBA的一部分)是   忽略除非表面使用每像素alpha(Surface有   SRCALPHA标志)。

您可以尝试类似

的内容
def str2rgb(s):
    rgba = s.split(",")
    if len(rgba) not in (3, 4):
        return (0, 0, 0)
    return tuple(map(int, rgba))


>>> color = "255,255,255"
>>> str2rgb(color)
(255, 255, 255)
>>> color2 = "255,255,255,0"
>>> str2rgb(color2)
(255, 255, 255, 0)