python制作朋友圈九宫格图片


Posted in Python onNovember 03, 2019

本文实例为大家分享了python朋友圈九宫格图片的具体制作代码,供大家参考,具体内容如下

将一张图片,切分成九宫格的样式:

原图:

python制作朋友圈九宫格图片

# -*- coding: UTF-8 -*-
from PIL import Image
import sys
import os
 
__author__ = 'kandy'
 
#当前文件所在文件夹
DIR_NAME = os.path.dirname( os.path.abspath(__file__) )
 
#填充新的image
def fill_image(image):
 width, height = image.size
 print('width:{%d}, height:{%d}' % (width, height))
 
 _length = width
 if height > width:
  _length = height
 
 new_image = Image.new(image.mode, (_length, _length), color='white')
 
 if width > height:
  new_image.paste(image, (0, int((_length - height) / 2)))
 else:
  new_image.paste(image, (int((_length - width) / 2), 0))
 return new_image
 
#裁剪image
def cut_image(image):
 width, height = image.size
 _width = int(width / 3)
 print('_width:{%d}' % _width)
 
 box_list = []
 
 # (left, top, right, bottom)
 for i in range(0, 3):
  for j in range(0, 3):
   print('i:{%d}, j:{%d}' % (i, j))
   box = (j*_width, i*_width, (j+1)*_width, (i+1)*_width)
   box_list.append(box)
   image_list = [image.crop(box) for box in box_list]
 return image_list
 
#将image列表的里面的图片保存
def save_images(image_list): 
 index = 1 
 #创建result文件夹
 res_dir = os.path.join(DIR_NAME, 'result')
 if not os.path.exists(res_dir):
  os.mkdir(res_dir)
 
 for image in image_list:
  new_name = os.path.join(res_dir, str(index) + '.png')
  image.save(new_name, 'PNG') 
  index += 1 
 print('图片保存完毕!')
 
 
if __name__ == '__main__': 
 file_path = os.path.join(DIR_NAME, '123.jpg')
 image = Image.open(file_path)
 #image.show()
 image = fill_image(image)
 #
 image_list = cut_image(image)
 #
 save_images(image_list)
 print('程序结束!')

切图后,拿去发朋友圈吧:

python制作朋友圈九宫格图片

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

Python 相关文章推荐
Python实现对百度云的文件上传(实例讲解)
Oct 21 Python
python docx 中文字体设置的操作方法
May 08 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
Mar 05 Python
python实现的生成word文档功能示例
Aug 23 Python
PyCharm搭建Spark开发环境的实现步骤
Sep 05 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
python实现UDP协议下的文件传输
Mar 20 Python
解决python中import文件夹下面py文件报错问题
Jun 01 Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 Python
Python timeit模块原理及使用方法
Oct 10 Python
python Scrapy爬虫框架的使用
Jan 21 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 #Python
基于python实现从尾到头打印链表
Nov 02 #Python
pandas 空数据处理方法详解
Nov 02 #Python
python pyinstaller打包exe报错的解决方法
Nov 02 #Python
python自动生成model文件过程详解
Nov 02 #Python
python__name__原理及用法详解
Nov 02 #Python
简单了解python中的f.b.u.r函数
Nov 02 #Python
You might like
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
htm调用JS代码
2007/03/15 Javascript
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
进一步理解Python中的函数编程
2015/04/13 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
Python通过format函数格式化显示值
2020/10/17 Python
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
数据库的约束含义
2012/09/09 面试题
params有什么用
2016/03/01 面试题
哈弗商学院毕业生求职信
2014/02/26 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
PHP中多字节字符串操作实例详解
2021/08/23 PHP