枕头图像生成问题-合并多个图像

时间:2019-10-09 21:04:06

标签: python python-imaging-library

我很难找到类似的问题。

我正在使用Pillow(在MAC开发机上为Python 3.5)将多个图像合并为一个长水平图像。

图像是从Pyppeteer中另存为jpg的屏幕抓图-该部分效果很好,可以打开并查看图像:

example generated image

下面是我正在使用的代码。 image_sets kwarg本质上是一个字典列表,其中包含图像集的名称和来自Pypetteer代码的已保存图像的集,目前为我的开发人员代码提供2套:

import sys
from PIL import Image

class ImageGenerator(object):

    def __init__(self, **kwargs):

        self.image_sets = kwargs['image_sets']

    def generate_images(self):

        for image_set in self.image_sets:

            #create PIL images from the saved images
            images = map(Image.open, image_set['generated'])
            widths, heights = zip(*(i.size for i in images))

            total_width = sum(widths)
            max_height = max(heights)

            new_im = Image.new('RGB', (total_width, max_height))

            x_offset = 0

            for im in images:
                new_im.paste(im, (x_offset, 0))
                x_offset += im.size[0]

            new_im.save("output/{}.jpg".format(image_set['set_name']))


if __name__ == "__main__":

    # NOTE - I removed code that was here, irrelevant to my question, but the
    # output is the "creatd_images" dict which I pass to the PIL class

    image_generator = ImageGenerator(image_sets=created_images)
    image_generator.generate_images()

一切正常-没有错误。它会创建适当大小和所有大小的图像。问题是当我打开它们时,新缝在一起的图像全都是黑色的。

我也尝试了PNG,同样的问题(原始图像的宽度为15000px,高度为1080p)。

结果如下:

enter image description here

0 个答案:

没有答案