当前位置: 移动技术网 > IT编程>脚本编程>Python > 在RPA中使用Python批量生成指定尺寸的缩略图!比Ps好用!

在RPA中使用Python批量生成指定尺寸的缩略图!比Ps好用!

2019年11月22日  | 移动技术网IT编程  | 我要评论

ktv公主是做什么的,中国绿色食品网,药方

前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

ps:如有需要python学习资料的小伙伴可以加点击下方链接自行获取

基本环境

  • 版本:python3.6

  • 系统:windows

相关模块:

1 import requests as req
2 from pil import image
3 from io import bytesio

 

原图:

在这里插入图片描述

结果图:

在这里插入图片描述

完整代码

 1 import requests as req
 2 from pil import image
 3 from io import bytesio
 4 def make_thumb(url, sizes=(300, 175)):
 5     """
 6     生成指定尺寸缩略图
 7     :param path: 图像路径
 8     :param sizes: 指定尺寸
 9     :return: 无返回,直接保存图片
10     """
11     response = req.get(path)
12     im = image.open(bytesio(response.content))
13     mode = im.mode
14     if mode not in ('l', 'rgb'):
15         if mode == 'rgba':
16             # 透明图片需要加白色底
17             alpha = im.split()[3]
18             bgmask = alpha.point(lambda x: 255 - x)
19             im = im.convert('rgb')
20             im.paste((255, 255, 255), none, bgmask)
21         else:
22             im = im.convert('rgb')
23 ​
24     # 切成方图,避免变形
25     width, height = im.size
26     if width == height:
27         region = im
28     else:
29         if width > height:
30             # h*h
31             delta = (width - height) / 2
32             box = (delta, 0, delta + height, height)
33         else:
34             # w*w
35             delta = (height - width) / 2
36             box = (0, delta, width, delta + width)
37         region = im.crop(box)
38 ​
39     # resize
40     thumb = region.resize((sizes[0], sizes[1]), image.antialias)
41     #保存图片
42     filename = url.split('/')[-1]
43     name, ext = filename.split('.')
44     savename = name + str(sizes[0]) + '_' + str(sizes[1]) + '.' + ext
45     thumb.save(savename, quality=100)
46 ​
47 ​
48 path = r'c:\users\hp\desktop\luckylttory.png'
49 make_thumb(path)

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网