Python实现多图合并成长图脚本
最近由于部分测试工作,需要将电脑本地的截图上传到jira上,图少点稍微整理一下还好,但是刚好碰到要上传很多截图,感觉有点费时,于是就写了这个脚本,希望能提高点工作效率吧
环境准备
运行平台:Mac
Python版本:3.7
依赖库:PIL
脚本一:
适用范围:多张图片合并成一行多列的长图
# coding=utf-8
# 横向拼接长图
import os
from PIL import Imageif __name__ == '__main__':path = "/Users/luffy.y.wan_sp/Downloads/picture/Journey_Navigation_on_ Application_Confirmation _Page/iOS/No_Plan_Balance_Instalment/"picName_list = os.listdir(path)image_list = [fn for fn in picName_list if fn.endswith('.png')]new_list = sorted(image_list, key=lambda x: int(x[-5:-4]))im_list = [Image.open(path + '/%s' % i) for i in new_list]width = 0height = 0for img in im_list:# 单幅图像尺寸w, h = img.sizewidth += w# 取最大的宽度作为拼接图的宽度height = max(height, h)# 创建空白长图result = Image.new(im_list[0].mode, (width, height), 0xffffff)# 拼接图片width = 0for img in im_list:w, h = img.size# 图片水平居中result.paste(img, box=(width, round(height / 2 - h / 2)))width += w# 保存图片result.save(path + 'ijnnb.png')
脚本二:
适用范围:多张图片合并成多行多列的长图
# coding=utf-8
# 横向拼接长图
import PIL.Image as Image
import os# 图片集地址
IMAGES_PATH = '/Users/luffy.y.wan_sp/Downloads/picture/Journey_Navigation_on_ Application_Confirmation _Page/iOS/HK_Product_Shelf_Balance_Instalment/'
# 图片的尺寸(可通过详细信息查看)
IMAGE_WIDTH = 1242
IMAGE_HEIGHT = 2208
# 转化的行列数
IMAGE_ROW = 1
IMAGE_COLUMN = 10
# 图片转换后的地址
IMAGE_SAVE_PATH = IMAGES_PATH + 'ijhppb.png'# 获取图片集地址下的所有图片名称
picName_list = os.listdir(IMAGES_PATH)
# 过滤后缀名不是.png的图片
image_list = [fn for fn in picName_list if fn.endswith('.png')]
# 将图片按文件名中的数字排序
image_names = sorted(image_list, key=lambda x: int(x[-5:-4]))# 简单对参数的设定和实际图片集的大小进行数量判断
if len(image_names) != IMAGE_ROW * IMAGE_COLUMN:raise ValueError("合成图片的参数和要求的数量不匹配!")# 定义图像拼接函数
def image_compose():# 创建一个新图to_image = Image.new('RGB', (IMAGE_COLUMN * IMAGE_WIDTH, IMAGE_ROW * IMAGE_HEIGHT))# 循环遍历,把每张图片按顺序粘贴到对应位置上for y in range(1, IMAGE_ROW + 1):for x in range(1, IMAGE_COLUMN + 1):from_image = Image.open(IMAGES_PATH + image_names[IMAGE_COLUMN * (y - 1) + x - 1]).resize((IMAGE_WIDTH, IMAGE_HEIGHT), Image.ANTIALIAS)to_image.paste(from_image, ((x - 1) * IMAGE_WIDTH, (y - 1) * IMAGE_HEIGHT))# 保存新图return to_image.save(IMAGE_SAVE_PATH)image_compose()
Python实现多图合并成长图脚本相关推荐
- PS将多个图片合并成长图
1.将所有图片拖到ps里面排好序.这里图层需要倒序,合成长图上面的图片要在图层的下面.图层倒序的方法:图层→排列→反向. 2.设置画布大小.假设18张图片,每个图片的高度是1448像素,则设置画布的高 ...
- pythonppt_用Python实现ppt转化图片(附带长图合并功能)
用Python实现ppt转化图片(附带长图合并功能) 前言 笔者前一阵在学习数据相关的东西,从初学开始,一直在参加社区中的图表小挑战,此项活动是社区出题人给出一定官方数据,参加小挑战的人员可以对数据进 ...
- canvas导出图片python_用Python实现ppt转化图片(附带长图合并功能)
用Python实现ppt转化图片(附带长图合并功能) 前言 笔者前一阵在学习数据相关的东西,从初学开始,一直在参加社区中的图表小挑战,此项活动是社区出题人给出一定官方数据,参加小挑战的人员可以对数据进 ...
- python多张图片生成ppt_用Python实现ppt转化图片(附带长图合并功能)
前言 笔者前一阵在学习数据相关的东西,从初学开始,一直在参加社区中的图表小挑战,此项活动是社区出题人给出一定官方数据,参加小挑战的人员可以对数据进行可视化,从而挖掘出有趣的信息. 而这个可视化的过程中 ...
- python图合并_Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
本文实例讲述了Python图像处理实现两幅图像合成一幅图像的方法.分享给大家供大家参考,具体如下: 将两幅图像合成一幅图像,是图像处理中常用的一种操作,python图像处理库PIL中提供了多种种将两幅 ...
- python ppt 图片_利用Python将PPT转换为图片并合成长图
最近因为某些需求需要将PPT转换为图片并合并成预览图,于是第一时间就想到了用python解决问题,过程中参考了一位老哥写的文章,链接如下.Python行家:用Python实现ppt转化图片(附带长图合 ...
- 10分钟教你用Python中的Matplotlib绘制多图并合并展示
前言 大家好,最近在研究在搞Python的大作业,有个需求就是利用Matplotlib画几个像模像样的统计图然后合并在一张图中,因为此前很少用这方面的东西,所以折腾了不少时间,今天介绍一下. subp ...
- 【Python3脚本分享】三个常用图片处理脚本(镜像处理,gif分解,多图合并)
工具虽然方便,但处理图片较多时,总不可能一张张的使用工具吧,这个时候就需要使用到脚本了.这里分享了我在做图片隐写时常用到的三个脚本 图片镜像处理. gif分解. 多张图片合成. 0x01.镜像处理 使 ...
- 用Python开发一个能拼长图的图片合并工具
上个月在某招聘网站上投简历,上传图片有数量限制,导致部分验证证明扫描件没有上传.招聘的小妹妹说可以拼长图作为一个图片附件上传.搜了一拼长图的app,结果免费版拼出来的长图模糊不清.有清晰版,就是要收费 ...
最新文章
- vscode个人配置
- 1-3团队冲刺第九天
- 3页论文被引用17915次!88岁物理学泰斗温伯格去世,霍金《时间简史》受他启发...
- 步步为营-20-XML
- linux无显卡运行程序,Ubuntu中在应用程序菜单添加未显示的应用程序启动器
- 简易boundbox碰撞检测
- c#样条曲线命令_如何定制CAD功能区界面中的命令?
- GO关于gin工程关联GOPATH的说明
- BOA+CGI+SQLite 随笔
- 高效的数据压缩编码方式 Protobuf
- 信息学奥赛C++语言: 输出最大值
- 关于Linux系统中的ext4文件系统制作命令的学习与理解,make_ext4fs 参数介绍。
- MFC中Doc,View,MainFrmae,App各指针的互相获取
- Laravel 不权威导航
- 安装问题的审计(产生漏洞,抓包)
- Verilog测试:TestBench结构
- React Native_React Native组件(ListViewFlatListSectionList)
- 自定义listview和ProgressBar的简单使用
- GPT硬盘分区命令parted
- RedisBloom 插件布隆过滤器,布谷鸟过滤器,Count-Min Sketch,TOPK使用详解
热门文章
- 极路由无线打印机服务器,极路由Hiwifi最多可连接有几台设备
- 串口通信原理详解232、422、485
- OFDM载波间隔_OFDM基本参数选择
- 导致项目进度延误的三种常见场景及解决方案
- oracle调优(1)
- C#网络TCP客户端的实现
- Linux下常见错误码
- MySQL:排序(filesort)详细解析(8000字长文)
- 密码学常见困难问题DLP,CDH,DDH,GDH,BDH,CBDH,DBDH,GBDH,更新中
- springboot全局异常处理BasicErrorController和RestControllerAdvice