图片拼接
最近比赛,做我们项目的开发文档时,遇到的一个需求。在界面展示模块,项目的功能模块比较多,可能评委就没有耐心看完,然后我们就想将所有的界面图拼接成一张图,在界面展示模块的开头,给评委一个直观的印象。实现比较简单,就不多赘述了。
步骤
-
安装numpy,matplotlib
-
目录结构
-
运行代码
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mping
import os
file_name = "imgs" ## 存放图片文件夹的名称(仅需这里修改)
file_path = os.path.abspath(file_name)
filelists = os.listdir(file_path)
m,n = -1,0
while m*n != len(filelists):
m,n = map(int,input("请输入您要排版的行数与列数(以空格隔开):").split(" "))
img_name = input("请输入要保存图片的名称:")
img_list = []
for i in filelists:
img_list.append(mping.imread(f"./{file_name}/{i}"))
img_temp = []
for i in range(0,m*n,n):
img_temp.append(np.concatenate(img_list[i:i+n],axis=1))
img_end = np.concatenate(img_temp,axis=0)
mping.imsave(f"{img_name}.png",img_end)
效果展示:
生成的文件较大,因为没有进行压缩,事后可以进行压缩一下