源 / 痴海  文 / 痴海

分享一个非常骚气的发朋友圈姿势。效果如下。

利用今天教给大家的 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, (int((new_image_length - width) / 2),0))      
    return new_image  
def cut_image(image):
    width, height = image.size
    item_width = int(width / 3)  #因为朋友圈一行放3张图。
    box_list = []
    # (left, upper, right, lower)
    for i in range(0,3):
        for j in range(0,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 = 1   
    for image in image_list:  
        image.save(str(index) + '.png', 'PNG')  
        index += 1

if __name__ == '__main__':  
    file_path = "4.jpg"  
    image = Image.open(file_path)     
    #image.show()  
    image = fill_image(image)  
    image_list = cut_image(image)  
    save_images(image_list)

使用教程

后台回复「朋友圈」获取源码,再把程序中「file_path」变量改成你对应图片的位置,运行程序,就会在原文件下生成 9 张图片。

再配上一句有逼格的话「人必有痴,而后有成」,发到朋友圈逼格满满!

转载声明:本文来自「痴海」,

公众号内回复“1”带你进粉丝群

用 Python 发一个高逼格的朋友圈相关推荐

  1. python发朋友圈_用 Python 发一个高逼格的朋友圈

    原标题:用 Python 发一个高逼格的朋友圈 源 /痴海文 /痴海 分享一个非常骚气的发朋友圈姿势.效果如下. 利用今天教给大家的 python 脚本,把一张图重新分隔成 9 张.上传到朋友圈,最后 ...

  2. python朋友圈图片_用Python发一个高逼格的朋友圈

    原标题:用Python发一个高逼格的朋友圈 今天要给大家介绍一个Python库:PIL(Python Image Library) 下面我们用一个实际的例子,看看50行python代码可以做什么神奇的 ...

  3. python发朋友圈_10分钟教你用Python发一个高逼格的朋友圈

    程序猿声 你与千万程序猿在一起 01 前言 Hello~各位小伙伴们大家好.现在大家是越来越离不开手机,离不开微信了.每天打开手机的第一或者第二件事就是赶紧打开朋友圈看看有什么好玩的东西.偶尔忍不住了 ...

  4. 用Python发一个高逼格的朋友圈【附代码】

    如题,此文转自知乎: 公众号:[大数据前沿]编程,教程,大数据  作者:二胖 今天作者给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子,看看 ...

  5. 用Python发一个高逼格的朋友圈

    今天要给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子,看看50行python代码可以做什么神奇的事情. 这是发的一个朋友圈,切图前是一张图 ...

  6. python朋友圈为什么这么火-用Python发一个高逼格的朋友圈「附代码」

    今天小漠要给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子 看看50行python代码可以做什么神奇的事情 这是小漠发的一个朋友圈 切图前是 ...

  7. python训练营朋友圈留言_用Python发一个高逼格的朋友圈【附代码】

    今天二胖要给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子 看看50行python代码可以做什么神奇的事情 这是二胖发的一个朋友圈 切图前是 ...

  8. python发朋友圈突破朋友圈限制_用Python发一个高逼格的朋友圈

    今天Aimee要给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子 看看50行python代码可以做什么神奇的事情 这是我发的一个朋友圈 切图 ...

  9. python发朋友圈源码_用Python发一个高逼格的朋友圈【附代码】

    今天二胖要给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子 看看50行python代码可以做什么神奇的事情 这是二胖发的一个朋友圈 切图前是 ...

最新文章

  1. Linux中包的管理与程序安装
  2. 四中方式实现单例模式
  3. smartgwt_高级SmartGWT教程,第1部分
  4. php如何设计自定义模型,php – Kohana ORM模型中的自定义方法
  5. 鲲鹏性能优化十板斧(四)——磁盘IO子系统性能调优
  6. python使用字典描述学生信息_Python字典(Dictionary)操作详解
  7. mysql jdbc 驱动名称_【经验分享】常用 JDBC 驱动名字和 URL 列表
  8. Puppet 实验十三 Foreman 基础使用
  9. PHP内存溢出:Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes)
  10. paip.图片文件上传功能总结
  11. 怎么用8uftp上传网站,利用8Uftp上传自己的网页只需8步
  12. 【实用技巧】虚拟机一键更换IP,更换网络不再是问题
  13. 利用matlab信号带宽,测量均值频率、功率、带宽
  14. PrestaShop 1.7.7.0 Stable 发布了!
  15. EC20模块内置协议栈的开发笔记
  16. 分享一个 Excel 做的三国杀 游戏 ,想学EXCEL的绝对受用。
  17. scrapy抓斗鱼主播的图片
  18. matlab差商chaS,牛顿插值MATLAB算法.doc
  19. K近邻(KNN)算法总结
  20. 海信电视可以安装鸿蒙系统吗,【2019】海信电视安装第三方应用通用教程

热门文章

  1. STM8SF103----ADC采集电压值
  2. PHP合并数组几种方式总结及数组去重
  3. PreferenceActiivty应用
  4. java实现动态图片效果
  5. Visual Studio 2019 编译Firefox 68.0.1
  6. kafka消费之kafka查看topic是否有数据
  7. 置换矩阵与转置矩阵之间的联系
  8. 1.JVM的初步介绍(宋红康笔记)
  9. mybatis 事务开启
  10. python中字符串的两种序号体系_Python字符串 --Python3