python切割长图为n个小图片
应用场景:有时候使用手机截图了一张特别长的竖长的图,想快速切割成N张小图,使用的是pillow库的image的crop函数,
crop函数有4个参数,是个元组 x1,y1,x2,y2,也就是2个点的坐标,
x1,y1是左上角的点的坐标,x2,y2是右下角的坐标。
一张图片左上角的是x1=0,y1=0
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改为切多少个图片
浙公网安备 33010602011771号