PIL - 从JPG和PNG帧制作1个PNG

时间:2011-12-29 12:41:58

标签: python image png python-imaging-library

我有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')

1 个答案:

答案 0 :(得分:0)

你走了。这应该采用原始图片并在其上方粘贴透明框架图像。两张图片应为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')