加小编QQ群:832339352即可自动获取大量Python视频教程以及各类PDF!

作为一个数据分析师,应该信奉一句话——"一图胜千言"。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!!

然而,在生产表情包的过程中,如果只是机械地把图片导进PS --> 改文字--> 导出,那也太low了,所以还是把这些很low的机械化的重复动作交给程序来做吧。

之前一直以为图像的自动处理,要靠JavaScript脚本控制PS或者AI;后来发现Python其实也可以做一些简单的图像处理,虽然可能比不上 MATLAB 强大。

于是对于图像处理,复杂的部分依然在PS或者AI中人工完成,简单的处理就可以用Python程序完成。

(如果表情可以收版权费的话,那就不用辛辛苦苦地去打球、拍戏、播音了……)

素材准备

这里我们以网络上流传最广的金馆长表情为中心,以萌萌哒的熊猫头作为背景,底下加上文字就能构成一张表情包。

然后用PS处理一下图片大小,模板大小设为250*250,表情裁剪一下白边。

图片叠加

第一步工作是把表情叠加到模板上,注意到我们的表情素材是白底而不是透明,所以位置要控制好,不然会遮盖住轮廓。

draw

= ImageDraw.Draw(img)ttfront = ImageFont.truetype('simhei.ttf',

24)draw.text((32, 190),"我的内心毫无波动 甚至还想笑",fill=(0,0,0),

font=ttfront)img.show()img.save(".Python生成的表情包.jpg")

这样就会看到合成的图片了:

这张图片下方还有一截留白,那是给我们最后一步添加文字用的。come on,魔性的笑容已经呈现,接下来就是最后一击,are you OK?! 哦不,are you ready?!

文字叠加

尽管表情包的核心是表情,然而一行简短而又震撼的文字往往能起到直击灵魂的画龙点睛的作用。

draw

= ImageDraw.Draw(img)ttfront = ImageFont.truetype('simhei.ttf',

24)draw.text((32, 190),"我的内心毫无波动 甚至还想笑",fill=(0,0,0),

font=ttfront)img.show()img.save(".Python生成的表情包.jpg")

这样就生成了一张完整的表情包了:

其中 draw.text()是往图层里输入文字,所以可以不断执行这条命令以在图片里添加多层文字。

你还可以导入多张表情,以及多个文本台词,这样就可以大规模批量自动生产表情包了……

问题升华

你以为到这里就结束了吗?too young啊!请童鞋们思考这个问题:表情包下留白的空间是有限的

中文和英文以及标点符号占据的空间不同

如果文本太长,就需要换行;可是如果行太多,图片就放不下

因此,当你脑中突然闪现出一句既包含中文也有英文还有N多标点符号以增强语气的台词时,怎么设计一个算法,用来寻找合适的字号大小,文本插入位置,文本在哪些地方换行,使文本能在有限空间居中展示,而且还要满足一定的观感呢?

算了,还是在这里结束吧……

于是,通过这篇严肃正经的教程,我们学会了使用Python进行简单图像处理的方法,更get到一项实用的神技:自动生产表情包。

最重要的是,老夫经常说的"信不信我分分钟批量做你大堆的表情包",终于成为现实了……对此,我想说,完了我爱上了Python!因为Python也太好玩了,方向太多了!

未来是人工智能的时代,有理由相信 Python 将发挥更大的作用。那么,如果想要追赶 Python 的热潮,应该如何学习呢?

当然是加小编QQ群:832339352!

python制作会动的表情包_有趣的python小项目,自动生成有趣的表情包!相关推荐

  1. python制作微信个人二维码_如何用Python制作微信好友个性签名词云图

    前言 上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来. 1.环境说明 Win10 系统下 Python3,编译器是 ...

  2. python制作会动的表情包_只要3步,菜鸟也能用Python做个逗逼的表情包

    先来个小姐姐表情包,一睹为快 表情包的使用,已经成为我们日常生活中必不可少的一个重要的交流工具,但是让人苦恼的是,表情包只能通过收藏他人的或者是从官网上获取成套的表情包,无法制作自己的表情包. 今天, ...

  3. python制作会动的表情包_Python自动生成表情包,python在手,从此斗图无敌手

    作为一个数据分析师,应该信奉一句话----"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态----表情包!!!! 表情包不仅仅是一种符号,更是一种文化:是促 ...

  4. python制作会动的表情包_Python自动生产表情包

    作为一个数据分析师,应该信奉一句话--"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态--表情包!!!! 表情包不仅仅是一种符号,更是一种文化--是促进社交 ...

  5. python制作会动的表情包_Python自动生成表情包

    分享一篇好玩的文章,原文链接:Python自动生产表情包. 作为一个数据分析师,应该信奉一句话----"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态--- ...

  6. 学习python表情包_我用Python一键保存了半佛老师所有的骚气表情包

    本文首发于公众号「Python知识圈」,如需转载,请在公众号联系作者授权. 2019年发现两个有意思而且内容比较硬核的公众号.都是同一个人运营的,我们都叫他半佛老师,现实中的职业是风控,公众号内容涉及 ...

  7. python制作gif动图_短短几行Python代码制作的GIF动图

    前言 想知道怎么用Python代码与动画结合起来,制作GIF动图,并展示给其他人看呢?gifmaze可以帮助你很好的制作GIF动图,效果超棒, 比inter,pyglet和pyqt同比之下,还要好一点 ...

  8. python制作gif动图_怎样用Python制作好玩的GIF动图

    原标题:怎样用Python制作好玩的GIF动图 作者: 景略集智 https://jizhi.im/blog/post/pytogif 程序员共读整理发布,转载请联系作者获得授权 之前我们分享过用Py ...

  9. python制作gif动画_实用的Python(2)利用Python制作gif动图

    一.简介 moviepy是一个专门用于视频剪辑制作的模块,可以自动化完成很多繁琐的视频剪辑处理工作,除了处理视频数据之外,moviepy中还内置了可以制作gif动图的功能,通过使用moviepy.ed ...

  10. python构造icmp数据包_如何在python中构造ICMP数据包

    为了学习,我目前正在尝试创建一个简单的python porgram来向某个设备发送ICMP ping数据包.为了开始,我查看了python模块Pyping:https://github.com/Akh ...

最新文章

  1. RabbitMQ 入门系列(6)— 如何保证 RabbitMQ 消息不丢失
  2. 绕过web认证学习总结
  3. java ls_linux ls 命令
  4. hive相对于oracle的优点,【Hive】Hive面试题
  5. 简单php不用mysql_简单的PHP / MySQL不工作
  6. POJ 1861 Network
  7. ASP.NET Core托管运行Quartz.NET作业调度详解
  8. ubuntu重命名移动硬盘
  9. iOS中创建动态库及调用方法
  10. 可以进行单元测试么_大量实例助攻,让你的单元测试更高效
  11. 第二章 如何在VS2008里面编译CG
  12. 生成xml_freemarker快速生成xml文件
  13. Abseil之Prefer Factory Functions to Initializer Methods
  14. Linux内存管理:Linux 可加载内核模块剖析:2.6 内核透视图
  15. 关于本地缓存localstorage与sessionStorage 数组 (array)字符串(string) 对象(object)的存储技巧和注意事项...
  16. Ubantu16.04安装五笔拼音输入法
  17. java string转character_Java中String和Character数组之间的区别。
  18. Java架构师 每日微笔记 0001
  19. 外贸邮箱,公司邮箱都什么格式?公司邮箱如何管理?
  20. Linux-uboot-学习笔记(10):移植三星官方uboot

热门文章

  1. ROS-Control专题:PR2的六个概念【01】
  2. 运算符优先级、案例技术:键盘的录入技术、流程控制语句
  3. 短视频是先配音还是先做视频?自媒体人看过来
  4. android 录音与播放录音 带根据音频大小动态效果
  5. python 函数- and-or 技巧学习
  6. Android 高仿哔哩哔哩 首页圆形搜索框
  7. 世界国家、省/州、城市的数据库
  8. 想升级Win11系统?却不知道Win10如何升级Win11?tpm2.0又是什么?【微星MSI-GF63笔记本为例】
  9. Java面试笔记:CopyOnWriteArrayList是怎么保证线程安全的?
  10. 知识付费时代,个体如何实现知识变现?