基于Python批量生成指定尺寸缩略图代码实例
2019-11-22 12:06
706 查看
这篇文章主要介绍了基于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)
结果展示
原图:
结果图:
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- 生成指定尺寸的缩略图
- c#多图片上传并生成缩略图的实例代码
- Mybatis基于注解形式的sql语句生成实例代码
- webservice(六)基于契约优先的wsdl文件生成webservice服务代码实例
- 基于Java随机生成手机短信验证码的实例代码
- PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
- python生成指定尺寸缩略图的示例
- ImageMagick生成指定尺寸缩略图并且填充背景色的四种方法
- js生成随机数(指定范围)的实例代码
- c#多图片上传并生成缩略图的实例代码
- ThinkPHP5.0 图片上传生成缩略图实例代码说明
- PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
- python生成指定尺寸缩略图的示例
- asp.net中生成缩略图并添加版权实例代码
- 织梦dedecms将指定图片自动生成指定尺寸的小图、缩略图、图片的方法
- asp.net中生成缩略图并添加版权实例代码
- opencv生成素描图c++代码实例及运行结果
- JAVA中数组插入与删除指定元素的实例代码
- 对抗生成网络及代码实例
- gcbtst2017(吉斯特2017)正式版发布:新一代基于带标签模板的自动化软件代码生成工具...