基于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 相关文章推荐
零基础写python爬虫之神器正则表达式
Nov 06 Python
python查询sqlite数据表的方法
May 08 Python
Python判断文件和字符串编码类型的实例
Dec 21 Python
python+django+sql学生信息管理后台开发
Jan 11 Python
python更改已存在excel文件的方法
May 03 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
详解PyTorch手写数字识别(MNIST数据集)
Aug 16 Python
Python tkinter实现图片标注功能(完整代码)
Dec 08 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
Python3列表List入门知识附实例
Feb 09 Python
Python中的datetime包与time包包和模块详情
Feb 28 Python
Python简易开发之制作计算器
Apr 28 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
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
php+oracle 分页类
2006/10/09 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
Laravel 队列使用的实现
2019/01/08 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
PHP实现计算器小功能
2020/08/28 PHP
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
python简单实现操作Mysql数据库
2018/01/29 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
公司中层干部的自我评价分享
2014/03/01 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
会计个人实习计划书
2014/08/15 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
平安建设汇报材料
2014/12/29 职场文书
贷款承诺书
2015/01/20 职场文书
主题班会开场白
2015/06/01 职场文书
铁人纪念馆观后感
2015/06/16 职场文书