任何人都可以提供在django中合并两个图像的代码[关闭]

Posted

技术标签:

【中文标题】任何人都可以提供在django中合并两个图像的代码[关闭]【英文标题】:Can any one provide the code for merging two images in django [closed] 【发布时间】:2016-07-27 19:07:09 【问题描述】:

我尝试在 django 中合并两个图像。但是我不成功,谁能给我提供合并两个图像的代码,这样,一个图像应该放在另一个图像上并保存为.jpg。我的邮件 ID 是 srikanthmadireddy78@gamil.com

【问题讨论】:

我希望您使用的是像枕头这样的成像库?另外,将您的电子邮件保密?? 你尝试了什么?发布您不成功的代码,以便您得到帮助。 请告诉我们您到目前为止尝试过什么,只有我们可以提供帮助,我们如何在不知道您尝试过什么的情况下帮助您解决您使用的版本遇到的问题。 【参考方案1】:

您可以使用Python Imaging Library。

from PIL import Image

def merge_img(background, foreground):
    #Conver both images to same color mode
    if background.mode != 'RGBA':
        background = background.convert('RGBA')
    if foreground.mode != 'RGBA':
        foreground = foreground.convert('RGBA')

    layer = Image.new('RGBA', background.size, (0,0,0,0))

    #Scale images
    ratio = min(float(background.size[0]) / foreground.size[0], float(background.size[1]) / foreground.size[1])
    w = int(foreground.size[0] * ratio)
    h = int(foreground.size[1] * ratio)
    foreground = foreground.resize((w, h))

    #Paste foreground at the middle of background
    layer.paste(foreground, ((background.size[0] - w) // 2, (background.size[1] - h) // 2))
    return Image.composite(layer, background, layer)


background = Image.open('background.jpg')
foreground = Image.open('foreground.jpg')

img = merge_img(background, foreground)
img.save('merged.jpg')

不一定要用layerImage.composite(),只能和paste()相处,但他们会帮助解决很多问题。特别是如果需要将 gif 与 jpeg 合并。

【讨论】:

如果你添加一些关于 PIL 的信息(它是什么?,在哪里可以找到它?)和代码,你可能会得到更多的支持。 @Matthias 完成。我希望它变得更好。

以上是关于任何人都可以提供在django中合并两个图像的代码[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将图像和视频合并为一个带有过渡的视频

如何在 react 中使用 graphene-django 和 axios 将图像上传到我的服务器?

合并两个不同大小的图像在较小的图像中留下黑色

合并两个图像

如何实现双曝光拾取图像?

任何人都可以仅使用 ForeignKey 在两个 django 模型之间建立多对多关系吗?