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

表情包不仅仅是一种符号,更是一种文化——是促进社交乃至社会发展的动力之一,就像懒。我们坚持认为,一张优秀的表情包,应该是一幅艺术品,是那忽如一夜春风来的灵感爆发,是那嘈嘈切切错杂弹的情思激荡,是那直挂云帆济沧海的壮志豪情,是那一览天下众山小的荣耀胜利——是不可以容忍码农用其惯有的形式固定、流程固定、毫无美感、毫无艺术的变幻和惊喜的直线思维解构。然而,在生产表情包的过程中,如果只是机械地把图片导进PS——改文字——导出,那也太low了,所以还是把这些很low的机械化的重复动作交给程序来做吧。

之前一直以为图像的自动处理,要靠JavaScript脚本控制PS或者AI;后来发现Python其实也可以做一些简单的图像处理,虽然可能比不上MATLAB强大。于是对于图像处理,复杂的部分依然在PS或者AI中人工完成,简单的处理就可以用Python程序完成。

在开工之前,先让我们瞻仰膜拜一下表情包界里程碑式的人物,感谢他们大力推动了表情包在历史潮流中的显著进步,他们的英名将长期被人民大众津津乐道,他们的音容笑貌将在人们的日常社交中经久不衰,他们的卓越贡献将永远镌刻于表情包史的丰碑上!

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

素材准备

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

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

图片叠加

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

from PIL import Image, ImageDraw, ImageFont

img = Image.open(".\background.jpg")

jgz = Image.open(".\jgz.jpg")

img.paste(jgz,(73,42))

img.show()

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

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

文字叠加

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

draw = ImageDraw.Draw(img)

ttfront = ImageFont.truetype('simhei.ttf', 24)

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

img.show()

img.save(".\Python生成的表情包.jpg")

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

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

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

问题升华

你以为到这里就结束了吗?too young啊!请童鞋们思考这个问题:

表情包下留白的空间是有限的

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

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

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

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

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

最重要的是,老夫经常说的“信不信我分分钟批量做你大堆的表情包”,终于成为现实了……

python制作会动的表情包_Python自动生产表情包相关推荐

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

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

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

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

  3. 人生苦短我学python表情包_Python自动生成表情包

    原标题:Python自动生成表情包 源| 创业智库文| 唐一 作为一个数据分析师,应该信奉一句话----"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态-- ...

  4. python 枪表情包_Python自动生成表情包,python在手,从此斗图无敌手

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

  5. 为什么要学python表情包_Python自动生成表情包,Python在手,从此斗图无敌手!

    在开工之前,先让我们瞻仰膜拜一下表情包界里程碑式的人物,感谢他们大力推动了表情包在历史潮流中的显著进步,他们的英名将长期被人民大众津津乐道,他们的音容笑貌将在人们的日常社交中经久不衰,他们的卓越贡献将 ...

  6. python 枪表情包_Python自动生成表情包 Python在手 从此斗图无敌手

    作者 | Python雁横 如需转载,请联系原作者授权 作为一个数据分析师,应该信奉一句话--"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态--表情包!! ...

  7. python制作会动的表情包_有趣的python小项目,自动生成有趣的表情包!

    加小编QQ群:832339352即可自动获取大量Python视频教程以及各类PDF! 作为一个数据分析师,应该信奉一句话--"一图胜千言".不过这里要说的并不是数据可视化,而是一款 ...

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

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

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

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

最新文章

  1. python tk下拉列表的state_Python tkinter之ComboBox(下拉框)的使用简介
  2. 剑指offer十一:二进制中1的个数
  3. linux最常用的目录表示,Linux磁盘分区的命名方式和常用目录?【每日一个知识点第84期-Linux】...
  4. TypeScript,从0到入门带你进入类型的世界
  5. IDEA在线和离线安装lombok
  6. mysql orderitems_【Mysql】教程全解(三)ORDER BY 排序
  7. 股票市场的本质是为优质企业提供融资的平台
  8. 由中缀式转化为后缀式
  9. 数字通信原理的几个理解
  10. 微信小程序多人开发-版本管理
  11. Qt 使用阿里图标库
  12. 用python做曲_谁在用 python 弹奏一曲《菊花台》
  13. 对select标签中的option默认选中后端的数据
  14. 记录(2019年2月4日)解决的小程序中Token交互及用户下单和微信支付问题
  15. 笔记本计算机怎么进入安全模式启动,笔记本怎么进入安全模式,详细教您联想笔记本怎么进入安全模式...
  16. 如何使用ArcGIS在Power BI中创建地理地图
  17. rootfs bootfs bootloader
  18. 沈阳大学博客网站的设计与实现
  19. OpenGL基本图元
  20. SVD 与 LSI教程(5):LSI关键字研究与协同理论

热门文章

  1. 自学Java day53 使用jvav实现 并查集 数据结构 从jvav到架构师
  2. Linux系统用户详细介绍
  3. 软件开发中,做产品与做项目有什么区别?
  4. B2C商城项目源码,基于Java开发的高可用分布式B2C商城系统,Java+Spring MVC+Dubbo+Zookeeper+MySQL+Redis+FastDFS+Nginx+Solr
  5. 【爬虫】如何解决爬虫爬取图片时遇到百度安全验证的问题?即页面上没有显示图片的源地址,没有img标签,只有div标签
  6. 计算机科学家与科学之路----2000年图灵奖得主美籍华人姚期智院士特邀报告
  7. 面试分享:一年经验初探阿里巴巴前端社招
  8. 2019暑期建模培训简单总结
  9. 完美解决安装Eclipse2020-3报错问题及正确安装,冲冲冲!!!
  10. Lazada商家售出产品多久能收款?收款方式及流程一篇详解!