2014-04-15 37 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