基于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)

结果展示

原图:

基于Python批量生成指定尺寸缩略图代码实例

结果图:

基于Python批量生成指定尺寸缩略图代码实例

来源:https://www.cnblogs.com/isearch/p/11888034.html

标签:python,批量,生成,缩略,图
0
投稿

猜你喜欢

  • Sql Server 查询性能优化之走出索引的误区分析

    2012-05-22 18:56:52
  • 判定IE的各个版本

    2010-01-19 14:01:00
  • 一个简单的python程序实例(通讯录)

    2023-05-16 06:49:11
  • python运行cmd命令行的3种方法总结

    2023-07-15 18:40:49
  • SQL Server中导入导出数据的三种方式

    2008-11-28 15:53:00
  • Python PaddleNLP开源实现快递单信息抽取

    2023-01-21 04:35:11
  • python实现的一个火车票转让信息采集器

    2023-09-05 11:42:53
  • 详解python 爬取12306验证码

    2022-07-17 20:38:20
  • 使用ASP实现广告代理

    2010-05-27 12:15:00
  • Python中使用ipython的详细教程

    2023-05-28 13:14:48
  • python+opencv 读取文件夹下的所有图像并批量保存ROI的方法

    2021-02-23 13:07:23
  • python实现定时提取实时日志程序

    2023-03-03 22:31:24
  • Oracle中时间日期转化函数to_date和to_char的具体使用

    2023-07-15 20:20:20
  • python基础之元组

    2021-06-28 08:06:24
  • pygame实现雷电游戏雏形开发

    2021-04-14 13:52:31
  • Python实战之设计一个多功能办公小工具

    2023-05-26 02:54:11
  • Python实现简易Web爬虫详解

    2021-12-11 01:29:16
  • python轻松过滤处理脏话与特殊敏感词汇

    2022-02-07 15:53:28
  • Asp用分页符实现长文章分页

    2007-10-19 18:35:00
  • 在Python的Django框架中包装视图函数

    2021-01-08 03:45:45
  • asp之家 网络编程 m.aspxhome.com