PIL 庫可以設定圖檔透明度。 pip install pillow
安裝了 pillow 庫後就可以使用 PIL 庫了。
我們都知道,圖檔是由無數個點組成的,300x300 像素,就是 9 萬個點。
每個點都有對應的顔色,PIL 圖可以擷取和設定每個像素點的顔色。
顔色有兩種 RGBA 和 RGB,(r, g, b, a) 前者有 4 個值,後者有 3 個值,每個都是 0 到 255,RGBA 的 a 就代表透明度。
getpixel((x, y))
是擷取對應像素點的顔色。 putpixel((x, y), color)
是設定對應像素點的顔色。 from PIL import Image
img = Image.open("安娜的櫥窗.jpg")
img = img.convert('RGBA') # 修改顔色通道為RGBA
x, y = img.size # 獲得長和寬
# 設定每個像素點顔色的透明度
for i in range(x):
for k in range(y):
color = img.getpixel((i, k))
color = color[:-1] + (100, )
img.putpixel((i, k), color)
img.save("安娜的櫥窗_switch.PNG") # 要儲存為.PNG格式的圖檔才可以
注:.PNG 格式的圖檔才支援透明度設定哦!
重點講一下這段代碼:
color = color[:-1] + (100, )
因為擷取到的 color 是 (r, g, b, 255) 這是一個元組,[:-1] 是切片,代表擷取前 3 個元素,就是 (r, g, b),然後再加個 (100, )這是包含一個數元組的寫法。加起來就是 (r, g, b, 100) 達到修改透明度的效果。
運作後的效果圖如下:

喜歡的點個贊❤吧!