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

很多人学习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. Scala 面向对象(四):import

    1 Scala引入包基本介绍 Scala引入包也是使用import, 基本的原理和机制和Java一样,但是Scala中的import功能更加强大,也更灵活. 因为Scala语言源自于Java,所以ja ...

  2. MySQL数据库06 /数据库总结

    MySQL数据库06 /数据库总结 目录 MySQL数据库06 /数据库总结 1. 数据库/DBMS 2. 数据库分类 3. 修改密码 4. 库操作 5. 表操作 6. 存储引擎 7. 事务 8. 约 ...

  3. tf.nn.conv2d函数和tf.nn.max_pool函数介绍

    tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 介绍参数: input:指卷积需要输入的 ...

  4. Odoo13之在tree视图左上角添加自定义按钮

    前言 首先展示效果图,如下图所示,在资产设备模块tree视图的左上角添加了一个同步资产的按钮. 要完成按钮的添加,分为四步,分别是: 1.编写xml文件,找到相关模型tree视图,并给模型tree视图 ...

  5. hihoCoder 1041 国庆出游 最详细的解题报告

    题目来源:国庆出游 解题思路(下面是大神的写的): 把题目中的序列称作S,树称作T.那么对于S中的任意节点x,x的子孙节点如果在S出现的话,那么这个子孙节点的位置是有一定要求的:x的所有子孙节点在S中 ...

  6. 一文读懂对抗生成学习(Generative Adversarial Nets)[GAN]

    一文读懂对抗生成学习(Generative Adversarial Nets)[GAN] 0x00 推荐论文 https://arxiv.org/pdf/1406.2661.pdf 0x01什么是ga ...

  7. Redis之对象

    1.对象的类型与编码 Redis使用对象来表示数据库中的键和值,每次我们在Redis的数据库中新创建一个键值对,我们至少会创建两个对象,一个键对象,另一个值对象. 每个对象都由一个redisObjec ...

  8. Ubuntu14.04 安装VMware tools

    Ubuntu14.04 安装VMware tools 方法一: 1. 在VMware 11(个人的测试环境为vm 11版本)下安装Ubuntu镜像:ubuntu-14.04.1-desktop-amd ...

  9. Ethical Hacking - NETWORK PENETRATION TESTING(2)

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

  10. Web应用程序安全与风险

    一.Web应用程序安全与风险 更多渗透测试相关内容请关注此地址:https://blog.csdn.net/weixin_45380284 1.web发展历程 静态内容阶段(HTML) CGI程序阶段 ...