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文件夹与文件的操作实现代码
Jul 13 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
快速解决PyCharm无法引用matplotlib的问题
May 24 Python
Python提取特定时间段内数据的方法实例
Apr 01 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
Ubuntu下Anaconda和Pycharm配置方法详解
Jun 14 Python
Python Django 命名空间模式的实现
Aug 09 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
Python+Redis实现布隆过滤器
Dec 08 Python
Python关于__name__属性的含义和作用详解
Feb 19 Python
PyTorch 导数应用的使用教程
Aug 31 Python
如何基于pandas读取csv后合并两个股票
Sep 25 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/02/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
网页自动跳转代码收集
2009/09/27 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
node.js实现快速截图
2016/08/27 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
python 实现字符串下标的输出功能
2020/02/13 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
Python中Qslider控件实操详解
2021/02/20 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
数据库连接池的工作原理
2012/09/26 面试题
大学毕业感言
2014/01/10 职场文书
会计专业自我评价
2014/02/12 职场文书
关于雷锋的演讲稿
2014/05/10 职场文书
员工薪酬激励方案
2014/06/13 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
会议通知
2015/04/15 职场文书