冰箱的Blog

Python批量裁剪缩略图脚本

由来

一话一话上传漫画的时候,感觉用ps一张一张地裁剪缩略图很费劲。重复的机械化劳动干脆叫给电脑来做吧,于是这时候就想到了Python。

但是我自己并没有学过Python,就直接Google了别人的代码,想直接运行裁剪好了就完事了。没想到Image模块疯狂报错。

tile cannot extend outside image

解决

Google之后,说是由于PIL在Windows上运行并不好,所以有了Pillow来替代它,需要把import Image改为from PIL import Image就可以解决了。同时,设定剪裁区域的数组的定义也让我费了好大功夫才搞明白。总之,把改好的代码附在下面吧。

代码

#coding:utf-8

import os
from PIL import Image

def getSmallPic(filename,delta):
    im = Image.open(filename)
    size = im.size
    box = (delta[0],delta[1],size[0]-delta[2],size[1]-delta[3])
    region = im.crop(box)
    region.save(filename,'JPEG')
    print filename + ' 保存成功!'
    print '========================'


print '请确保待处理文件夹在桌面!'
path = "C:\\Users\\Sean\\Desktop\\"
name = raw_input('请输入文件夹名:')
documentName = path + name + '\\'
picList = os.listdir(documentName)


#迭代操作各图片
for pic in picList:
    filename = documentName + pic
    delta = [20,20,48,1737]
    getSmallPic(filename,delta)


x = input()

总结

要失业了要失业了,PY真方便的。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注