python把一堆图片分成n份_用Python实现将一张图片分成9宫格的示例
经常看到朋友圈或者空间里有朋友发布照片时,将朋友圈的照片切分为九宫格,参考了一些大神的博客资料,现整理如下;
将图片分拆成九宫格的思路:
读取图片->填充图片为正方形(fill_image函数)->将图片切分为9张(cut_image函数)->保存图片(save_image)->over
代码实现如下:
from PIL import Image
import sys
#将图片填充为正方形
def fill_image(image):
width, height = image.size
#选取长和宽中较大值作为新图片的
new_image_length = width if width > height else height
#生成新图片[白底]
new_image = Image.new(image.mode, (new_image_length, new_image_length), color='white')
#将之前的图粘贴在新图上,居中
if width > height:#原图宽大于高,则填充图片的竖直维度
#(x,y)二元组表示粘贴上图相对下图的起始位置
new_image.paste(image, (0, int((new_image_length - height) / 2)))
else:
new_image.paste(image, (int((new_image_length - width) / 2),0))
return new_image
#切图
def cut_image(image):
width, height = image.size
item_width = int(width / 3)
box_list = []
# (left, upper, right, lower)
for i in range(0,3):#两重循环,生成9张图片基于原图的位置
for j in range(0,3):
#print((i*item_width,j*item_width,(i+1)*item_width,(j+1)*item_width))
box = (j*item_width,i*item_width,(j+1)*item_width,(i+1)*item_width)
box_list.append(box)
image_list = [image.crop(box) for box in box_list]
return image_list
#保存
def save_images(image_list):
index = 1
for image in image_list:
image.save(str(index) + '.jpg')
index += 1
if __name__ == '__main__':
file_path = "微信图片_20180809234441.jpg"
image = Image.open(file_path)
# image.show()
image = fill_image(image)
image_list = cut_image(image)
save_images(image_list)
效果如下:
参考了二胖大神提供的思路,里面的逻辑很有趣:
1.开始相当于是拿一张白底的图片粘贴到了原图上;
2.切图的时候分成9宫格,的循环写的也非常漂亮。
3.代码中出现了很多次for循环的迭代使用:[image.crop(box) for box in box_list],以后自己也要多练习这种写法。
以上这篇用Python实现将一张图片分成9宫格的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
本文标题: 用Python实现将一张图片分成9宫格的示例
本文地址: http://www.cppcns.com/jiaoben/python/264725.html
python把一堆图片分成n份_用Python实现将一张图片分成9宫格的示例相关推荐
- python爬虫网页图片显示不出来_用Python爬取20万条网页美女图片,两只眼睛 都看不过来了!...
前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...
- python语言编写一个生成九宫格图片的代码_用Python实现将一张图片分成9宫格的示例...
经常看到朋友圈或者空间里有朋友发布照片时,将朋友圈的照片切分为九宫格,参考了一些大神的博客资料,现整理如下; 将图片分拆成九宫格的思路: 读取图片->填充图片为正方形(fill_image函数) ...
- 用python做一张图片_用Python实现将一张图片分成9宫格的示例
经常看到朋友圈或者空间里有朋友发布照片时,将朋友圈的照片切分为九宫格,参考了一些大神的博客资料,现整理如下; 将图片分拆成九宫格的思路: 读取图片->填充图片为正方形(fill_image函数) ...
- python怎么把照片转成卡通_使用python将图片转换为草图和漫画格式
[相关学习建议:python视频教程] 这个例子分享了python的特定代码,将图片转换成草图和漫画格式,供您参考.具体内容如下 艺术品 图片转换后的结果 源代码 # -*-编码:utf-8-*-从P ...
- python实现图片找不同游戏_用Python实现谷歌的小恐龙游戏
(给Python开发者加星标,提升Python技能) 来源: Charles的皮卡丘-白露未晞me理 谷歌流量器中有个很有名的彩蛋:当你网络出现问题时,就会出现一个"小恐龙游戏". ...
- python图片压缩不失真_使用 python 压缩 png 图片,高达 80% 压缩率,肉眼无差异(一):为什么不用 pillow库.md...
在网上有很多使用 python 的 pillow 库进行图片压缩的教程,使用简单,但是压缩效果存在明显的色彩不自然,这是因为 pillow 库采取的压缩算法没有优化的问题. 这个系列实现一款简单的压缩 ...
- python图片识别验证码软件_基于python图片识别工具(图片识别,车牌,PDF,验证码)...
先上图 不多说. 对于一般的用户来说识别率还是能达到百分之90以上. 已经打包成exe文件.windows用户可以直接使用.要软件的加我QQ python代码: # -*- coding: UTF- ...
- python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...
在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...
- python适合零基础的人吗_学Python需要什么基础知识?零基础可以学Python吗?
学Python需要什么基础知识?一般来说,想要学Python最好具备一定的计算机专业知识,尤其是数学和英语不错的话,对学Python也有一定的帮助.但是零基础的学习者就不能学Python了吗?当然不是 ...
最新文章
- Java NIO系列教程(六) Selector
- bootstrap datepicker Uncaught TypeError: Cannot call method 'split' of undefined问题
- 交叉编译VIM并移植到ARM嵌入式Linux系统
- 系统二级运维之业务单据错误处理
- CodeForces - 1486F Pairs of Paths(树上计数+容斥)
- 使用Java迭代器修改数据时要小心
- 【预留】Apache Doris 0.12 官方中文文档学习
- Ubuntu下的文件安全删除工具
- js实现select跳转
- Ubuntu 10.04 分辨率调整
- 如何修改音乐的匹配字数
- 【POJ 3276】【开关问题】Face The Right Way【暑期 No.4】
- 手机三十分钟熄屏如何一直亮_如何让手机屏幕常亮
- python sqlite3加密_sqlite3加密
- JSON字符串生成在线生成POJO工具类
- Fortinet:网络安全越来越勤快,可甲方却应该越来越「懒」
- ProxySQL+MGR实现读写分离和主节点故障无感知切换 - 完整操作记录
- 连接计算机名提示输入网络凭据,Win10访问局域网共享文件时提示输入网络凭据如何解决...
- ext3文件系统基础
- 他写代码如入定,人称阿里“扫地僧,java自学教程百度云