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


Posted in Python onNovember 20, 2019

这篇文章主要介绍了基于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批量生成指定尺寸缩略图代码实例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
python实现360皮肤按钮控件示例
Feb 21 Python
Python使用CMD模块更优雅的运行脚本
May 11 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
Python实现多属性排序的方法
Dec 05 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
Eclipse配置python默认头过程图解
Apr 26 Python
Python中内建模块collections如何使用
May 27 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 #Python
利用python实现AR教程
Nov 20 #Python
使用python实现画AR模型时序图
Nov 20 #Python
Python笔记之工厂模式
Nov 20 #Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 #Python
将python2.7添加进64位系统的注册表方式
Nov 20 #Python
10个Python面试常问的问题(小结)
Nov 20 #Python
You might like
PHP代码优化技巧小结
2015/09/29 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
Python实现的多进程和多线程功能示例
2018/05/29 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
Python3实现转换Image图片格式
2018/06/21 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
python多进程重复加载的解决方式
2019/12/13 Python
python颜色随机生成器的实例代码
2020/01/10 Python
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
水果超市创业计划书
2014/01/27 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
美容院管理规章制度
2015/08/05 职场文书
详解python的内存分配机制
2021/05/10 Python
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS
python 单机五子棋对战游戏
2022/04/28 Python