擅长:python、mysql、java
<p>我把Pecan的答案和cr333的问题放在一起:</p>
<p><a href="https://stackoverflow.com/questions/765736/using-pil-to-make-all-white-pixels-transparent">Using PIL to make all white pixels transparent?</a></p>
<p>。。。想到这个:</p>
<pre><code>from PIL import Image
opacity_level = 170 # Opaque is 255, input between 0-255
img = Image.open('img1.png')
img = img.convert("RGBA")
datas = img.getdata()
newData = []
for item in datas:
newData.append((0, 0, 0, opacity_level))
else:
newData.append(item)
img.putdata(newData)
img.save("img2.png", "PNG")
</code></pre>
<p>在我的例子中,我有黑色背景的文本,只希望背景是半透明的,在这种情况下:</p>
<pre><code>from PIL import Image
opacity_level = 170 # Opaque is 255, input between 0-255
img = Image.open('img1.png')
img = img.convert("RGBA")
datas = img.getdata()
newData = []
for item in datas:
if item[0] == 0 and item[1] == 0 and item[2] == 0:
newData.append((0, 0, 0, opacity_level))
else:
newData.append(item)
img.putdata(newData)
img.save("img2.png", "PNG")
</code></pre>