# 利用今天教给大家的 python 脚本,把一张图重新分隔成 9 张。上传到朋友圈,最后就会形成上面的效果。可能有些人在朋友圈有看过类似的消息,也知道某些软件可以做到这样的效果。但如果你自己利用 python 来实现,那种成就感是非常不一样的。
#
# 所以今天我就手把手教大家如何利用 python 发一个高逼格的朋友圈。
#
# 程序思路
#
# 此次程序主要是利用 PIL(Python Image Libraty)这库,来进行图片的处理。
#
# PIL 是一个功能非常强大的 Python 图像处理标准库,但由于 PIL 只支持 Python2.7。如今很多 python 程序员都使用 Python 3.x,所以 PIL 在之前的基础上分离出来一个分支,另外创建一个 Pillow 库,以便支持 Python3.x。本程序在使用之前请确保已经安装了 Pillow 库。
#
# 程序首先把你要分隔的图像读取到一个变量中,然后我们定义了一个 fill_image() 方法,用来填充图像让原本大小不一的图像,重新变为一个长宽相同的正方形图像,方便之后处理。
#
# 通过 fill_image() 方法,我们就会得到新的一张正方形图像。随后我们在利用 cut_image() 方法,把图像分隔成 9 张,因为微信朋友圈最多发 9 张图片。
#
# 最后把这 9 张图片保存到本地文件中,发送到手机,就可以发到朋友圈了。
#
# 程序源码from PIL import Image
import sys# 先将 input image 填充为正方形
def fill_image(image):width, height = image.size# 选取长和宽中较大值作为新图片的new_image_length = width if width > height else height# 生成新图片[白底]new_image = Image.new(image.mode, (new_image_length, new_image_length), color='white')  # 注意这个函数!# 将之前的图粘贴在新图上,居中if width > height:  # 原图宽大于高,则填充图片的竖直维度 #(x,y)二元组表示粘贴上图相对下图的起始位置,是个坐标点。new_image.paste(image, (0, int((new_image_length - height) / 2)))else:new_image.paste(image, (0, int((new_image_length - width) / 2)))# new_image.show()return new_imagedef cut_image(image):width, height = image.sizeitem_width = int(width / 3)  # 因为朋友圈一行放3张图。box_list = []# (left, upper, right, lower)for i in range(3):for j in range(3):# print((i*item_width,j*item_width,(i+1)*item_width,(j+1)*item_width))box = (j * item_width, i * item_width, (j + 1) * item_width, (i + 1) * item_width)box_list.append(box)image_list = [image.crop(box) for box in box_list]return image_list# 保存
def save_images(image_list):index = 1for image in image_list:image.save(str(index) + '.png', 'PNG')index += 1if __name__ == '__main__':file_path = "美女.png"image = Image.open(file_path)# image.show()image = fill_image(image)image_list = cut_image(image)save_images(image_list)

一张图片切割成九宫格,微信朋友圈发布相关推荐

  1. Android实现仿微信朋友圈发布动态(拍照、图库选择、照片压缩、显示、保存、缩略图、点击缩略图删除对应文件等)

    原址: http://blog.csdn.net/zhang3776813/article/details/52092591 /*** 仿微信朋友圈发布动态* 拍照或图库选择 * 压缩图片并保存**/ ...

  2. Android实现仿微信朋友圈发布动态(拍照、图库选择、照片压缩、显示、保存、缩略图、点击缩略图删除对应文件等)附源码

             原创作品,转载请注明出处:http://blog.csdn.net/zhang3776813/article/details/52092591 最近项目需求中要用到类似微信朋友圈发布 ...

  3. APP分享多张图片和文字到微信朋友圈(android 7.0以上适配)

    1.微信平台没有提供分享多张图片的SDK,我们只能自己调用系统自带的分享功能实现. 2.实际分享的时候因为是调用系统本地的分享功能,所以分享的图片也就必须要存到本地,不然就会提示获取资源失败而导致分享 ...

  4. python切割图片发微信朋友圈——9图、4图、6图

    考虑到微信朋友圈的折叠方案,有些方法严重走形,基本只能支持这几种折叠方案了. 随便拿张图,扔到白背景,拉到正方形. 3*3和2*2都是标准的正方形, 2*3不行,微信会自动缩图,正方形的要把图做成这样 ...

  5. 微信朋友圈长视频服务器地址,微信朋友圈发布60秒+长视频教程

    最近看到一些朋友在求微信朋友圈发长视频方法,下面给大家大概解释一哈: 1.下载好趣推等能压缩视频软件的APP,注册登录,打开微信小视频功能.ps:不用开什么vip,普通用户可以使用这个功能 2.导入你 ...

  6. uniapp仿微信朋友圈发布页(原生uni方法不使用扩展组件)

    前言: 常见的一些UI组件库都是只能提前选择发布图片或者发布视频,我觉得在发布前还要选择一下,挺麻烦的.虽然微信朋友圈也是这么做的吧.我希望的是,直接进入发布页,如果没有选择图片或者视频,也可以直接发 ...

  7. android仿微信发布动态功能,Android仿微信朋友圈发布动态功能

    一.前言 应工作上的要求,需要有一个类似于微信朋友圈发动态上传图片的功能,想起曾经已经做过了,但奈何不忍看自己以前写的代码的惨状,觉得重新封装一个使用方便,易于维护的类似功能的类,自己之后用起来也顺手 ...

  8. android 仿微信朋友圈发布动态功能

    https://blog.csdn.net/qq_34501274/article/details/72911343

  9. 仿微信朋友圈拍照上传

    模仿微信朋友圈发布动态,输入文字支持文字多少高度自增,有一个最小输入框高度,输入文字有限制,不过这些都很easy! 1. PhotoPicker的使用 这是一个支持选择多张图片,点击图片放大,图片之间 ...

最新文章

  1. 设置centos默认启动命令行(不启动图形界面)
  2. aws 认证_引入#AWSCertified挑战:您的第一个AWS认证之路
  3. 大班体育游戏电子计算机教案,幼儿园大班体育游戏教案《夹球走走走》
  4. 【PAT - 甲级1021】Deepest Root (25分)(并查集,暴力枚举)
  5. FCPX无缝扭曲过渡转场Twirl Transition Pack for Mac
  6. Effective C++读书摘要--Implementations二
  7. java 打印gc_java – 以编程方式打印启用GC日志记录时通常在JVM出口上打印的堆使用情况...
  8. Flutter:Slivers大家族,让滑动视图的组合变得很简单!
  9. solver.prototxt参数解析
  10. QSS按钮样式设置的坑,按下(pressed)时按钮颜色不变化
  11. mysql hash分区 子分区_mysql分区管理 - hash分区
  12. xmanager 出现Initialize Flexnet Service failed / Error code: 50003
  13. 在平面国生活,会是怎样的体验?
  14. php月考勤统计,考勤系统功能实现——统计
  15. vue前后端分离图片无法显示的问题
  16. 【C++ 第五章 个人银行账户管理程序案例】
  17. sc-RNA seq与Illumina测序
  18. 判断Linux环境是否装了NCCL,安装cuDNN和NCCL指南
  19. 网络带宽相关知识和计算
  20. 阿里云云服务器固定带宽和带宽按量付费的区别

热门文章

  1. 浙传计算机二级成绩查询,浙江传媒学院艺考成绩查询
  2. 好生猛,游戏里爆肝创纪录,太强了!
  3. 如何取SQL结果集的第一条记录
  4. 磁盘管理控制台不是最新状态 win 7
  5. 反向代理和正向代理的区别
  6. 计算机网络覆盖的地理范围分类,计算机网络按地理范围可分为什么
  7. SQL数据库修复教程-浪潮GS7.0中了后缀是.5ss5c勒索病毒修复过程
  8. IOS多国语言Localize方法
  9. 人工智能导论/人工智能及其应用 期末练习题
  10. php mud游戏源码,从零开始构建PHP版mud游戏(三)