Skip to main content
 首页 » 编程设计

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

2025年05月04日9lvdongjie

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

我要做的是将一些 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"

谢谢!

请您参考如下方法:

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 技术的示例.

示例输入:

输出: