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改为切多少个图片

posted @   saromman  阅读(268)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示