鱼C论坛

 找回密码
 立即注册
查看: 1515|回复: 3

[已解决]如何在多个文件夹里,拼接图片?

[复制链接]
发表于 2019-6-18 11:17:06 | 显示全部楼层 |阅读模式
50鱼币

1.png 2.png 3.png
我有多个文件夹的集合,我想要把每个文件夹里的图片,都要时间顺序依次拼接出来,按月份,例如3月一张图,4月的有是一张图,求大佬指点
最佳答案
2019-6-18 11:17:07
  1. from os import listdir
  2. from PIL import Image as img   #pip install  pillow

  3. path="e:\\pic"
  4. jpglst=[img.open(path+"\"+fn) for fn in listdir(path) if fn.endswith(".jpg") or fn.endswith(".gif")]
  5. width=height=200
  6. #重置每张图片大小
  7. newhandle=[]
  8. for im in jpglst:
  9.   newhandle.append(im.resize((width,height),img.ANTIALIAS))

  10. #新的大图片的大小
  11. n=7  #横向每n个图片一组
  12. newjpg=img.new(newhandle[0].mode,(width*n,height*(len(newhandle)//n+1)))
  13. #拼接
  14. for i,im in enumerate(newhandle):
  15.   newjpg.paste(im,box=((i%n)*width,height*(i//n)))
  16. newjpg.save("test.jpg")  
复制代码

评分

参与人数 1鱼币 +5 收起 理由
逃兵 + 5

查看全部评分

本帖被以下淘专辑推荐:

  • · 百淘|主题: 11, 订阅: 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-18 11:17:07 | 显示全部楼层    本楼为最佳答案   
  1. from os import listdir
  2. from PIL import Image as img   #pip install  pillow

  3. path="e:\\pic"
  4. jpglst=[img.open(path+"\"+fn) for fn in listdir(path) if fn.endswith(".jpg") or fn.endswith(".gif")]
  5. width=height=200
  6. #重置每张图片大小
  7. newhandle=[]
  8. for im in jpglst:
  9.   newhandle.append(im.resize((width,height),img.ANTIALIAS))

  10. #新的大图片的大小
  11. n=7  #横向每n个图片一组
  12. newjpg=img.new(newhandle[0].mode,(width*n,height*(len(newhandle)//n+1)))
  13. #拼接
  14. for i,im in enumerate(newhandle):
  15.   newjpg.paste(im,box=((i%n)*width,height*(i//n)))
  16. newjpg.save("test.jpg")  
复制代码
test.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-18 13:18:53 | 显示全部楼层
关注了,我也很好奇,小蜜圈?

如果是小密圈的话应该有API,github有许多爬虫源码可以研究
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-18 18:35:07 | 显示全部楼层
这个你可以参考这里的代码
Python拼接图片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 17:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表