Python写的切图脚本

自己写练手项目时随手写的一个Python切图脚本,可以把1125的图片按照0.66的比例压缩为750的图片,并且自动添加@2x和@3x的后缀。
通过Python3x的编译器运行代码后将图片所在文件夹路径输入执行后即可。记得提前给1125的图片取好名。

from PIL import Image, ImageDraw
import os


def get_newname_extend(filepath, postfix):
    fileWholeName = filepath.split('/')[-1]
    fileInfo = os.path.splitext(fileWholeName)
    return fileInfo[0] + postfix + '.png'


def compress_img(imagepath):
    img = Image.open(imagepath)
    w, h = img.size
    print('Original image size: %sx%s' % (w, h))
    img.thumbnail((int(w * 0.66), int(h * 0.66)))
    saveName = get_newname_extend(imagepath, '@2x')
    # 取得上层目录
    savedir = os.path.dirname(imagepath)
    savepath = os.path.join(savedir, saveName)
    img.save(savepath, 'png')
    os.rename(imagepath.split('/')[-1], get_newname_extend(imagepath, '@3x'))

filepath = input('请输入要处理的图片所在的文件名:\n')
if filepath[-1] == ' ':
    filepath = filepath[0: -1]
filelist = os.listdir(filepath)
# 改变当前所在目录
os.chdir(filepath)
imageList = []
for filename in filelist:
    fileInfo = os.path.splitext(filename)
    if fileInfo[1] == '.png':
        abspath = os.path.abspath(filename)
        compress_img(abspath)

你可能感兴趣的:(Python写的切图脚本)