1. 程式人生 > 其它 >python學習筆記:對圖片素材進行背景透明處理

python學習筆記:對圖片素材進行背景透明處理

1.用python自帶方法處理,只是把圖片背景色變成底層surface同樣的顏色,圖片本身無變化

# ~ 如果點陣圖是純色背景就用convert和set_colorkey方法
# ~ 其中set_colorkey的RGB值就是圖片的背景色,可以用微軟畫圖的吸管吸取顏色值
self.image=pygame.image.load('chess.png').convert()
self.image.set_colorkey((153,217,234))
# ~ 如果點陣圖是透明背景
# ~ self.image = pygame.image.load("chess.png").convert_alpha()

2.處理圖片本身使其變成透明的

前提:需要匯入python標準庫,Python Image Library,在python3.7以後叫做pillow。命令列開啟之後,如果python已經在系統變數裡的話,直接pip install pillow,linux unix mac方法類似。

實際程式碼如下:

 1 import PIL.Image as Image
 2 
 3 def transparent_back(img):
 4     """以圖片左上角的點的顏色為透明背景"""
 5     img = img.convert('RGBA')
 6     L, H = img.size
7 color_0 = img.getpixel((0,0)) 8 for h in range(H): 9 for l in range(L): 10 dot = (l,h) 11 color_1 = img.getpixel(dot) 12 if color_1 == color_0: 13 color_1 = color_1[:-1] + (0,) 14 img.putpixel(dot,color_1) 15 return
img 16 17 18 img=Image.open('player.png') 19 img=us.transparent_back(img) 20 #~ 如果不想覆蓋原圖就改名 21 img.save('player.png')