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使用函数默认值实现函数静态变量的方法
Aug 18 Python
Python函数嵌套实例
Sep 23 Python
Python进阶篇之字典操作总结
Nov 16 Python
Python实现的选择排序算法原理与用法实例分析
Nov 22 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
django_orm查询性能优化方法
Aug 20 Python
Python中对数组集进行按行打乱shuffle的方法
Nov 08 Python
python+mysql实现教务管理系统
Feb 20 Python
Python实现最大子序和的方法示例
Jul 05 Python
python列表,字典,元组简单用法示例
Jul 11 Python
Python的collections模块真的很好用
Mar 01 Python
Python读写Excel表格的方法
Mar 02 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面试题(对属性或方法的访问控制)
2012/09/13 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
使用python实现kNN分类算法
2019/10/16 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
精选奢华:THE LIST
2019/09/05 全球购物
SQL Server笔试题
2012/01/10 面试题
医学毕业生自荐信
2013/10/11 职场文书
英语自荐信范文
2013/12/11 职场文书
亲属关系公证书
2014/04/08 职场文书
村干部培训方案
2014/05/02 职场文书
出纳试用期自我评价
2015/03/10 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
小学生暑假安全保证书
2015/07/13 职场文书