在窗口和程序中,透明度被视为黑色

时间:2011-04-20 22:05:10

标签: python transparency python-imaging-library palette

我正在使用PIL python库从图像到图像进行一些批量复制粘贴。我昨天工作了,但突然当我重新启动计算机时,程序将透明度视为黑色,而且粘贴的图像使用粘贴图像的调色板。希望这不是太混乱..这是我的代码

import Image
imagein = Image.open("ramza.png")
imagein.show()
x, y, w, h = (0, 0, 128, 128)
box = (x, y, x + w, y + h)
region = imagein.crop(box)
imageout = Image.open("Template.png")
imageout.show()
imageout.paste(region, box)
imageout.show()
imageout.save("fn.png")

1 个答案:

答案 0 :(得分:0)

要确保使用区域的alpha图层将粘贴的区域与模板图像混合,请使用mask关键字参数并使用区域图像作为蒙版。它会自动使用alpha图层进行混合。

以下是代码:

import Image
imagein = Image.open("png-transparency.png")
x, y, w, h = (0, 0, 128, 128)
box = (x, y, x + w, y + h)
region = imagein.crop(box)
imageout = Image.open("bigtest1.jpg").convert('RGBA')
imageout.paste(region, box, mask=region)
imageout.save("fn.png")

我不知道如何处理您的调色板问题。也许你可以发布一些带有不同调色板的样本图像来证明这个问题?