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 open读写文件实现脚本
Sep 06 Python
Python实现一个简单的验证码程序
Nov 03 Python
Python使用sklearn库实现的各种分类算法简单应用小结
Jul 04 Python
Django多数据库的实现过程详解
Aug 01 Python
Python PO设计模式的具体使用
Aug 16 Python
python sklearn常用分类算法模型的调用
Oct 16 Python
Java文件与类动手动脑实例详解
Nov 10 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 Python
Django中的session用法详解
Mar 09 Python
python 操作mysql数据中fetchone()和fetchall()方式
May 15 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 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
微信access_token的获取开发示例
2015/04/16 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
JS完成代码前最好对其做5件事
2013/04/07 Javascript
node.js require() 源码解读
2015/12/13 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
webpack源码之loader机制详解
2018/04/06 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
layui table 参数设置方法
2018/08/14 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
Python简单实现安全开关文件的两种方式
2016/09/19 Python
python如何查看微信消息撤回
2018/11/27 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
static关键字的用法
2013/10/07 面试题
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
MYSQL基础面试题
2012/05/13 面试题
怎样客观的做好自我评价
2013/12/28 职场文书
2015年安全月活动总结
2015/03/26 职场文书
赞助商致辞
2015/07/30 职场文书
2016七一建党节慰问信
2015/11/30 职场文书