python切割长图为n个小图片
应用场景:有时候使用手机截图了一张特别长的竖长的图,想快速切割成N张小图,使用的是pillow库的image的crop函数,
crop函数有4个参数,是个元组 x1,y1,x2,y2,也就是2个点的坐标,
x1,y1是左上角的点的坐标,x2,y2是右下角的坐标。
一张图片左上角的是x1=0,y1=0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import os from PIL import Image def cut(img,pages): image = Image. open (img) w = image.width h = int (image.height / pages) print (f '这个图像是{image.width} x {image.height}' ) name1,name2 = os.path.dirname(img) + "/" ,os.path.basename(img).split( "." )[ - 2 ] + "_cut_" for p in range (pages): name3 = name1 + name2 + str (p) + ".jpg" im2 = image.crop(( 0 ,p * h,w,(p + 1 ) * h)) im2.save(name3) print (f "一共完成了{pages}个文件." ) img = "D:/ProgramFile/ShareX-15.0.0-portable/ShareX/Screenshots/2023-12/9G83DmOvSa.jpg" pages = 25 cut(img,pages) |
使用的时候,把img修改为你要切割的图片,pages改为切多少个图片
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构