Python图像库 - 创建和粘贴图像

时间:2011-03-20 05:24:51

标签: python image python-imaging-library

如何使用黑色背景创建新图像并在其上粘贴另一张图像?

我要做的是将一些128x128透明图标转换为75x75黑色背景图标。

不起作用......

import Image

theFile = "/home/xxxxxx/Pictures/xxxxxx_128.png"

img = Image.open(theFile)

newImage = Image.new(img.mode, img.size, "black")
newImage.paste(img)
newImage.resize((75,75))
newImage.save("out.png")

print "Done"

谢谢!

1 个答案:

答案 0 :(得分:9)

resize方法返回一个新的图像对象,而不是更改现有的图像对象。此外,您应该在粘贴图像之前调整图像大小。以下适用于我:

import Image

theFile = "foo.png"

img = Image.open(theFile)
resized = img.resize((75,75))
r, g, b, alpha = resized.split()

newImage = Image.new(resized.mode, resized.size, "black")
newImage.paste(resized, mask=alpha)
newImage.save("out.png")

print "Done"

我在this blog post找到了split + mask技术的示例。

示例输入:

Input image

输出:

enter image description here