Skip to main content
 首页 » 编程设计

python之PIL之从 JPG 和 PNG 框架制作 1 个 PNG

2025年05月04日11wayfarer

我有 2 张图片:

  • PNG (99x97) 具有白色、旋转的框架和其余部分是完全透明的。
  • JPG - 是我生成的缩略图 (80x80)

现在我想将缩略图放入框架中,使其看起来像某种绘画。我该怎么办?

编辑:

忘记补充了,那张图一定是在相框下面。

Frame image

我有一些脚本,但它只显示了一个框架。里面没有图片:/

import Image, ImageDraw 
 
img_size = (99,97) 
im = Image.open('logo.jpg') 
picture = im.crop((0,0,80,80)) 
frame = Image.open('thumb-frame.png') 
picture = picture.convert('RGBA') 
background = Image.new('RGBA', img_size, (255, 255, 255, 0)) 
background.paste(picture, (10,9)) 
background.paste(frame, (0,0)) 
background.save('logocopy.png', 'PNG') 

编辑:

问题解决了。我必须将 alpha 蒙版添加到 .paste()

import Image 
 
im = Image.open('logo.jpg') 
picture = im.crop((0,0,80,80)) 
picture = picture.convert('RGBA') 
frame = Image.open('thumb-frame.png') 
background = Image.new('RGBA', frame.size, (255, 255, 255, 0)) 
background.paste(picture, (10,9)) 
background.paste(frame, (0,0), frame) 
background.save('logocopy.png', 'PNG') 

请您参考如下方法:

给你。这应该拍摄原始图片并在其上方粘贴透明框架图像。两张图片都应为 100x100,但您可以根据需要调整大小。

from PIL import Image 
 
frame = Image.open('frame.png') 
img = Image.open('image.jpg') 
 
img_dest = img.copy().convert('RGBA') 
img_dest.paste(frame, (0, 0, 100, 100), frame) 
 
img_dest = img_dest.convert('RGB') # Optional, to remove transparency info 
 
img_dest.save('output.png')