作为一个男同胞来说,为了给女朋友拍一张美美的照片,着实需要花费很大的时间和精力,不仅仅需要从众多的图片中精心挑选,而且还需要有着超强的图片精修能力,才能得到一张张达到女友要求的图片,真心不容易啊~

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

朋友圈发出去一张照片显得很单薄,有没有啥好的办法呢,小编今天就带领大家来制作一个微信的九宫格图片,发朋友圈一定能搏一把眼球!

对于九宫格的朋友圈大家应该不会陌生,如下图所示,小编先用我最喜欢的一个动漫里面的女神焰灵姬做demo,下图就是焰灵姬做的一个微信九宫格的图片:

也就是我们将一张完整的图片分割成9个不同的部分,然后利用微信的九宫格排列,组成一张图片,提升美感的同时,也让图片变得丰富起来。下面就跟随小编来看看是如何利用程序实现的吧。

01.设计一个界面

小编为了提升用户的体验,设计了一个用户界面,界面如下图所示:

上图中,我们只需要按照提示输入图片的转换地址和转换后图片保存的文件夹地址,然后只需要点击“开始转换”即可完成。

界面程序如下图所示:

整个的界面,我们设置了几个关键的控件:

  • 例如Label,是用来在界面上展示文本信息的;

  • 而Entry则是用来让用户输入文本信息的控件;

  • Button就是按键空间,对应了界面上的“开始转换”按键,其绑定了我们的转换程序self.Run函数;

  • self.Run便是我们程序转换的主函数,它完成了对于一张图片的读入,并将其分割成9张图片,并保存9张图片的功能;

02.敲黑板划重点,如何分割图片

上面只是完成了外表的壳子的功能,可以认为是前端的功能,后端的图像的处理功能才是关键。这里就是用到了强大的cv2这个库。

上面的程序一共完成了这么几步:

  • 首先将图形以较长边为基准,填充为正方形,这里为什么填充为正方形呢?因为微信图片显示九宫格的时候,都是按照正方形进行显示的。

  • 如果不填充为正方形,分割出来的会是长方形,会造成图片存在部分丢失的现象。当我们把图像填充为正方形,这样分割出来的图片依旧是正方形,不会出现图片部分丢失的问题。

  • 接着填充完之后,按照新图片的边长来分割图片,分割图片的边长就是新图片的三分之一

  • 最后我们将分割出来的图片保存到指定的文件夹内即可。

03.效果展示

下图就是小编分割出来后,进行微信朋友圈展示的效果图:

看完效果图,大家是不是感觉瞬间档次就提升了呢。最后,小编以视频的形式为大家展示一下如何使用该程序:

用Python一键生成炫酷九宫格图片,火了朋友圈的更多相关文章

  1. Python | 一键生成九宫格图片

    一键生成九宫格图片 首先我们准备几张图片: 将代码文件放在放置图片的地方,用软件打开: 点击运行,在当前目录下会生成一个文件夹: 打开新生成的文件夹: 打开对应图片的名称文件夹: 如果不想图片被分成9 ...

  2. 重写 View 的 Touch 方法,实现一个酷炫的九宫格图片

    前几天翻看代码库,发现一个之前写过的一个有意思的小玩意,共享给大家

  3. 在树莓派上用 python 做一个炫酷的天气预报

    教大家如何在树莓派上自己动手做一个天气预报.此次教程需要大家有一定的python 基础,没有也没关系,文末我会放出我已写好的代码供大家下载. 首先在开始之前 需要申请高德地图API,去高德地图官网注册 ...

  4. iOS开发之窥探UICollectionViewController(五) --一款炫酷的图片浏览组件

    本篇博客应该算的上CollectionView的高级应用了,从iOS开发之窥探UICollectionViewController(一)到今天的(五),可谓是由浅入深的窥探了一下UICollectio ...

  5. 手把手教你做一个python+matplotlib的炫酷的数据可视化动图

    1.效果图 2.注意: 上述资料是虚拟的,为了学习制作动图,构建的. 仅供学习, 不是真实数据,请别误传. 当自己需要对真实数据进行可视化时,可进行适当修改. 3.代码: #第1步:导出模块,固定 i ...

  6. 40行Python制作超炫酷动态排序图,有了它高逼格PPT再也不愁!

        本文首发于量化投资与机器学习 转载于  https://mp.weixin.qq.com/s/KaB_7oXZf0_IV97y0pRPmQ 前言 最近,这种动态排序条形图视频超级火,如下图: ...

  7. 【Android】java生成炫酷验证码,不区分大小写。登陆,发送手机验证码,防止注册机,android开发

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing 首先给大家看一下 ...

  8. Python 带你一键生成朋友圈超火的九宫格短视频

    1. 场景 如果你经常刷抖音和微信朋友圈,一定发现了最近九宫格短视频很火! ​从朋友圈九宫格图片,到九宫格视频,相比传统的图片视频,前者似乎更有个性和逼格 除了传统的剪辑软件可以实现,是否有其他更加快 ...

  9. 8个超炫酷仿HTML5动画源码

    1.jQuery万年历插件 带农历老皇历功能 这是一款基于jQuery的日历插件,这款日历插件和之前分享的日历控件有很大差异,它是一本万年历,包含了农历已经老皇历的功能,是一个挑好日子的工具.同时日历 ...

随机推荐

  1. java 面向对象(二十三):关键字:abstract以及模板方法的设计模式

    abstract abstract: 抽象的1.可以用来修饰:类.方法2.具体的:abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用 ...

  2. DOM 和 BOM 区别

    DOM, DOCUMENT, BOM, WINDOW 区别DOM 是为了操作文档出现的 API,document 是其的一个对象:BOM 是为了操作浏览器出现的 API,window 是其的一个对象. ...

  3. 数据可视化之DAX篇(四) 熟练使用EARLIER函数,轻松获取当前行信息

    https://zhuanlan.zhihu.com/p/64400583 前面利用PowerBI做数据分析的时候都是对整列的字段进行操作,并没有做更细化的分析,比如分析数据的每一行.提取某一行的数据 ...

  4. Burp Suite Proxy Module - 代理模块

    官方参考链接:https://portswigger.net/burp/documentation/desktop/tools/proxy/using 1.Burp Suite 代理设置选项 2.浏览 ...

  5. Ethical Hacking - NETWORK PENETRATION TESTING(2)

     ALFA  AWUS 1900 RTL8814AU https://www.alfa.com.tw/products_detail/2.htm Follow the guide on aircrac ...

  6. Linux find 查找 并删除文件 杀掉进程

    find 默认在当前 即 . 目录下查找 du 文件名 / 目录 # 查看文件占用内存大小 1. 按照文件名查找 find / -name qwe # qwe为文件名 find / -name *qw ...

  7. P1050 精卫填海

    [问题描述] 发鸠之山,其上多柘木.有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨.是炎帝之少女,名曰女娃.女娃游于东海,溺而不返,故为精卫.常衔西山之木石,以堙于东海.——<山海经&g ...

  8. layui 魔改:上传时的真实进度条

    这个问题本身不复杂,难点在于需要改 layui 的源码. HTML略. 网页的JS域: layui.use(['upload','element','layer'], function(){ var ...

  9. postman之测试集

    简单点,说话的方式简单点 步骤1:测试全部通过,哈哈~ 开玩笑! 适用场景:多组数据测试,像排比句那样,有规律,比如姓名,性别,年龄.这时候的测试要求就是这些信息与返回体的结果做比较!! 步骤1:创建 ...

  10. DP学习记录Ⅰ

    DP学习记录Ⅱ 前言 状态定义,转移方程,边界处理,这三部分想好了,就问题不大了.重点在状态定义,转移方程是基于状态定义的,边界处理是方便转移方程的开始的.因此最好先在纸上写出自己状态的意义,越详细越 ...