从其中包含图像的文件夹动态创建图像网格的程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从其中包含图像的文件夹动态创建图像网格的程序相关的知识,希望对你有一定的参考价值。

我有一个包含一组图像的文件夹。我想创建任何类型的程序,都可以采用文件夹的路径,行数和列数,并为我提供带有图像网格的输出。我不确定该怎么做。

Check the image grid output here!

答案
它使用sys.argv获取参数pattern,而不是path(如"path/*.jpg"),行,列

python script 'images/dot-*.png' 2 3

它使用模块PIL / pillow读取图像,调整图像大小并粘贴在输出图像上。

import sys import glob from PIL import Image # for test only #sys.argv += ['images/dot-*.png', 2, 3] # get arguments pattern = sys.argv[1] rows = int(sys.argv[2]) cols = int(sys.argv[3]) # get filenames filenames = glob.glob(pattern) # load images and resize to (100, 100) images = [Image.open(name).resize((100, 100)) for name in filenames] # create empty image to put thumbnails new_image = Image.new('RGB', (cols*100, rows*100)) # put thumbnails i = 0 for y in range(rows): if i >= len(images): break y *= 100 for x in range(cols): x *= 100 img = images[i] new_image.paste(img, (x, y, x+100, y+100)) print('paste:', x, y) i += 1 # save it new_image.save('output.jpg')

以上是关于从其中包含图像的文件夹动态创建图像网格的程序的主要内容,如果未能解决你的问题,请参考以下文章

如何动态创建图像的拼贴(没有间隙的网格),其中图像具有不同的高度?

Unity 2D:在图像中动态创建一个洞

捕获图像并动态添加到网格视图

在 WPF 中动态地将元素定位到网格中

创建相册;需要一种算法来动态放置不同大小的图像

动态图处理