在RPA中使用Python批量生成指定尺寸的缩略图!比Ps好用!
前言
文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
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)
在RPA中使用Python批量生成指定尺寸的缩略图!比Ps好用!的更多相关文章
- 如何用python批量生成真实的手机号码
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Python测试社区 1目 标 场 景 平时在工作过程中,偶尔会需要大 ...
- C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码
本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码.网上文章大多只是简单介绍内置参数的设置,根据我的使用目的,增加了自定义目标二维码图片尺寸和白边 ...
- 【转】C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码
本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码.网上文章大多只是简单介绍内置参数的设置,根据我的使用目的,增加了自定义目标二维码图片尺寸和白边 ...
- Python —— 批量替换指定目录下的所有文件中指定字符串
参考:http://blog.csdn.net/zcwfengbingdongguke/article/details/13951527 代码: #!/usr/bin/python import os ...
- 用python批量生成简单的xml文档
最近生成训练数据时,给一批无效的背景图片生成对应的xml文档,我用python写了一个简单的批量生成xml文档的demo,遇见了意外的小问题,记录一下. 报错问题为:ImportError: No m ...
- Python批量生成用户名
写在最前 平时在工作中尤其是在做压测的时候难免需要一些用户名和密码,写个简单的Python小脚本批量生成一些 代码示例 import random,string #生成大小字母和数字一起的大字符串 a ...
- python批量改动指定文件夹文件名称
这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称: 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files ...
- Python批量删除指定目录下的指定类型的文件
Python作为一种脚本语言.其很适合文件级的各种操作.以下的代码能够批量删除指定目录下的所有特定类型(CSV类型)的文件. import sys, csv , operator import os ...
- python批量生成SQL语句
1,首先写一条能运行成功插入SQL的语句 INSERT INTO sign_guest(realname,phone,email,sign,event_id)VALUES("jack&quo ...
随机推荐
- java8-新的日期API
背景 java的日期和时间API设计不理想,java8引入新的时间和日期API就是为了解决这个问题. 老的日期API的核心类 缺点 Date 月从0开始,年最小从1900年开始,没有时区的概念 Cal ...
- tensorflow-- Dataset创建数据集对象
tf.data模块包含: experimental 模块 Dataset 类 FixedLengthRecordDataset 类 TFRecordDataset 类 TextLineDataset ...
- PHP实现微信提现功能
提现必须得用双向证书.所以大家一定要在微信的商户平台找到相应的地方去设置.因为做这个提现已经有一段时间了.所以设置微信商户平台的那几个地方没有图的情况.也说不清楚.下次再做提现的时候.给大家分享如何设 ...
- Mysql将日期转为字符串
select date_format(time, '%Y-%m-%d %H:%i:%s') from info # 2019-08-22 21:03:21
- Ruby中星号打包解包操作
Ruby中可以使用一个星号*和两个星号**完成一些打包.解包操作,它们称为splat操作符: 一个星号:以数组为依据进行打包解包(参考文章) 两个星号:以hash为依据进行打包解包(参考文章) 两个星 ...
- ASP.NET图片上传和截取
一.介绍:图片的上传直接使用ajax就可以了,截取图片的话使用到Jcrop插件. 图片上传资料:https://www.jb51.net/article/87654.htm 截取图片插件:http:/ ...
- python链式调用REST API把参数放到URL中
需求格式:GET /users/:user/repos 程序: class Chain(object): def __init__(self,path=''): self._path=path def ...
- javaWeb技术第一篇之HTML
<!-- 当前是最简的html --> <html> <!-- 告诉浏览器当前是一个html文档 最外面的标签. --> <head> <!--h ...
- ArcGIS api for JavaScript 3.27 聚合(cluster)
基础聚合:只聚合,不显示聚合的数量 // Basic Clustering require([ "esri/map", "esri/layers/FeatureLayer ...
- 转战物联网·基础篇07-深入理解MQTT协议之控制报文(数据包)格式
在MQTT协议中,一个控制报文(数据包)的结构按照前后顺序分如下三部分: 结构名 中文名 解释说明 Fixed header 固定报头 报文的最开始部分,所有报文都包含这个部分 Variable ...