在RPA中使用Python批量生成指定尺寸的缩略图!比Ps好用!
2024-08-28 02:18:40
前言
文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef
基本环境
版本:Python3.6
系统:Windows
相关模块:
import requests as req
from PIL import Image
from io import BytesIO
原图:
结果图:
完整代码
import requests as req
from PIL import Image
from io import BytesIO
def make_thumb(url, sizes=(300, 175)):
"""
生成指定尺寸缩略图
:param path: 图像路径
:param sizes: 指定尺寸
:return: 无返回,直接保存图片
"""
response = req.get(path)
im = Image.open(BytesIO(response.content))
mode = im.mode
if mode not in ('L', 'RGB'):
if mode == 'RGBA':
# 透明图片需要加白色底
alpha = im.split()[3]
bgmask = alpha.point(lambda x: 255 - x)
im = im.convert('RGB')
im.paste((255, 255, 255), None, bgmask)
else:
im = im.convert('RGB')
# 切成方图,避免变形
width, height = im.size
if width == height:
region = im
else:
if width > height:
# h*h
delta = (width - height) / 2
box = (delta, 0, delta + height, height)
else:
# w*w
delta = (height - width) / 2
box = (0, delta, width, delta + width)
region = im.crop(box)
# resize
thumb = region.resize((sizes[0], sizes[1]), Image.ANTIALIAS)
#保存图片
filename = url.split('/')[-1]
name, ext = filename.split('.')
savename = name + str(sizes[0]) + '_' + str(sizes[1]) + '.' + ext
thumb.save(savename, quality=100)
path = r'C:\Users\HP\Desktop\luckylttory.png'
make_thumb(path)
最新文章
- js 反显查询。
- 错误的CPU时间片大小概念
- android视频播放器开发
- check member function
- sql注入攻击的预防函数
- js上移、下移、置顶、置底功能实现
- IOS学习3
- c#转义字符串中的所有正则特殊字符
- Insertion Sort List —— LeetCode
- 水平居中的两种方法margin text-align
- 2017JAVA课程设计
- Python学习之--socket
- JVM垃圾收集相关经常使用參数
- 集合之LinkedHashSet(含JDK1.8源码分析)
- 用canvas写个接水管小游戏
- Jenkins与网站代码上线解决方案【转】
- (ios7) 解决代码布局View, ios7 中 subView 高度增加StatusBar20dp的问题,保证Ios6,ios7代码一致
- webapi 异常处理
- php oci8 小试
- Codeforces 160 D. Edges in MST