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写入中英文字符串到文件的方法
May 06 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
Python插件virtualenv搭建虚拟环境
Nov 20 Python
python with提前退出遇到的坑与解决方案
Jan 05 Python
python利用高阶函数实现剪枝函数
Mar 20 Python
PyQt5每天必学之拖放事件
Aug 27 Python
django admin组件使用方法详解
Jul 19 Python
使用Pyhton集合set()实现成果查漏的例子
Nov 24 Python
python dataframe NaN处理方式
Dec 26 Python
Python openpyxl 插入折线图实例
Apr 17 Python
基于Python模拟浏览器发送http请求
Nov 06 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
Jun 08 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
Javascript 圆角div的实现代码
2009/10/15 Javascript
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
vue实现商城上货组件简易版
2017/11/27 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
Vue实现active点击切换方法
2018/03/16 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
Python实现Dijkstra算法
2018/10/17 Python
Python二维码生成识别实例详解
2019/07/16 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
Python如何在DataFrame增加数值
2020/02/14 Python
Keras 使用 Lambda层详解
2020/06/10 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
岗位职责的含义
2013/11/17 职场文书
实习求职信
2013/12/01 职场文书
运动会领导邀请函
2014/01/10 职场文书
毕业生求职信范文
2014/06/29 职场文书
日语系毕业求职信
2014/07/27 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
经验交流材料格式
2014/12/30 职场文书
浅谈python中的多态
2021/06/15 Python