2014-04-15 38 views
1

Hov我可以使三重字符串RGB颜色?像这样:Python字符串三重态颜色

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

此代码给我“无效的颜色参数”。 为什么我想这样做?该字符串保存在一个文件中。

回答

3

pygame.Surface.fill预计:

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

你可以尝试像

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) 
+0

不错!这个函数看起来比我写的更好。谢谢一堆! – gubbfett