【问题标题】:PIL - make 1 PNG from JPG and PNG framePIL - 从 JPG 和 PNG 帧制作 1 个 PNG
【发布时间】:2012-01-29 21:07:18
【问题描述】:

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

【问题讨论】:

  • 你尝试了什么?我们不会为您编写代码,但我们可以帮助您解决代码中的问题 :)
  • @CédricJulien 看看我编辑的帖子。
  • 先画一张图,然后在该图上方画一个框。如果框架的透明度设置正确,你应该得到你想要的。
  • @race1 正如我所写: ...它只显示一个框架。里面没有图片:/

标签: python image png python-imaging-library


【解决方案1】:

给你。这应该拍摄原始照片并在其上方粘贴透明框架图像。两张图片都应为 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')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-12
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 2011-03-01
    • 1970-01-01
    • 2021-03-12
    相关资源
    最近更新 更多