基于Python批量生成指定尺寸缩略图代码实例
作者:艺赛旗RPA社区 时间:2021-12-15 14:58:48
这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
最近我们商城上架的应用越来越丰富了。但在应用上传的过程中遇到这样的一个问题:每一个上架的应用需要配置一个应用封面图片,并且封面的图片大小有指定的范围:300*175。而 我们制作完的图片一般都会大于这个尺寸。所以每次手动调整大小,又让我产生了偷懒的想法,想法有了那就开始行动吧。
代码
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)
结果展示
原图:
结果图:
来源:https://www.cnblogs.com/isearch/p/11888034.html
标签:python,批量,生成,缩略,图
0
投稿
猜你喜欢
python中struct模块之字节型数据的处理方法
2021-09-27 12:38:00
Win10搭建Pyspark2.4.4+Pycharm开发环境的图文教程(亲测)
2021-03-21 02:07:59
如何在windows下安装Pycham2020软件(方法步骤详解)
2023-05-19 14:07:30
仿迅雷焦点广告效果(JQuery版)
2009-08-03 14:18:00
Python中List.count()方法的使用教程
2023-08-12 11:56:15
Python+OpenCV实现阈值分割的方法详解
2023-08-13 02:24:00
在 git 中取消 __pycache__ 文件的方法
2022-09-14 20:00:17
javascript+css图片切换效果
2007-08-04 20:00:00
python爬虫之爬取笔趣阁小说
2021-09-19 19:18:05
MySQL中的count(*) 和 count(1) 区别性能对比分析
2024-01-24 03:12:51
python删除列表元素的三种方法(remove,pop,del)
2022-10-16 11:43:21
分享Python 的24个编程超好用技巧
2021-05-21 16:51:55
python2.6.6如何升级到python2.7.14
2023-08-07 22:54:52
Go语言使用sort包对任意类型元素的集合进行排序的方法
2023-09-02 03:55:18
python+selenium+chrome批量文件下载并自动创建文件夹实例
2022-09-14 09:56:42
浅谈MySQL8.0 异步复制的三种方式
2024-01-29 00:26:46
JavaScript面向对象之Prototypes和继承
2024-04-23 09:14:54
图文详解如何利用PyTorch实现图像识别
2023-02-04 00:54:13
Python数据分析pandas模块用法实例详解
2023-01-25 00:47:29
Python 微信爬虫完整实例【单线程与多线程】
2023-08-19 23:12:58