我一直在使用PIL裁剪圖片,現在我也想做出一定的矩形區域透明,說Python PIL:如何使區域在PNG中透明?
from PIL import Image
im = Image.open("sample.png")
transparent_area = (50,80,100,200)
...
我會很感激一些代碼,我一直沒能找到它,謝謝提前了很多!
乾杯,
霍夫
我一直在使用PIL裁剪圖片,現在我也想做出一定的矩形區域透明,說Python PIL:如何使區域在PNG中透明?
from PIL import Image
im = Image.open("sample.png")
transparent_area = (50,80,100,200)
...
我會很感激一些代碼,我一直沒能找到它,謝謝提前了很多!
乾杯,
霍夫
import Image
import ImageDraw
im = Image.open("image.png")
transparent_area = (50,80,100,200)
mask=Image.new('L', im.size, color=255)
draw=ImageDraw.Draw(mask)
draw.rectangle(transparent_area, fill=0)
im.putalpha(mask)
im.save('/tmp/output.png')
我學會了如何做到這一點here。
沒有源代碼,但是這是應該工作的一般方法:創建用於在「L」(灰度)模式作爲一個單獨的圖像對象的圖像的α信道。用白色(完全不透明)填充Alpha通道,並在Alpha通道圖像上繪製黑色矩形(完全透明)。將要應用透明度的圖像轉換爲RGBA,並使用圖像對象putalpha()
方法將您創建的Alpha通道複製到圖像的Alpha通道。另存爲PNG。
Upvoted you,因爲代碼幾乎完全符合我寫的內容。 – kindall 2010-12-07 20:13:11