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采用requests库模拟登录和抓取数据的简单示例
Jul 05 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
python实现决策树ID3算法的示例代码
May 30 Python
python 对类的成员函数开启线程的方法
Jan 22 Python
​如何愉快地迁移到 Python 3
Apr 28 Python
解决Django Static内容不能加载显示的问题
Jul 28 Python
Python 静态方法和类方法实例分析
Nov 21 Python
pyinstaller还原python代码过程图解
Jan 08 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
Mar 06 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
jupyter notebook插入本地图片的实现
Apr 13 Python
Pycharm中如何关掉python console
Oct 27 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概率算法实例
2014/04/09 PHP
destoon各类调用汇总
2014/06/20 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
Python使用chardet判断字符编码
2015/05/09 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
Python进程间通信Queue实例解析
2018/01/25 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
python对视频画框标记后保存的方法
2018/12/07 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
党委书记岗位职责
2013/11/24 职场文书
小学教师管理制度
2014/01/18 职场文书
校园之声广播稿
2014/01/31 职场文书
医院检讨书范文
2014/02/01 职场文书
工作推荐信范文
2014/05/10 职场文书
小组口号大全
2014/06/09 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
nginx优化的六点方法
2021/03/31 Servers
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android