原标题:Python自动生成表情包

源| 创业智库文| 唐一

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

表情包不仅仅是一种符号,更是一种文化;是促进社交乃至社会发展的动力之一,就像懒。

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

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

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

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

素材准备

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

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

图片叠加

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

from PIL import Image, ImageDraw, ImageFont

img = Image.open(".ackground.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),"我的内心毫无波动 甚至还想笑",fill=(0,0,0), font=ttfront)

img.show()

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

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

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

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

问题升华

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

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

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

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

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

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

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

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

人生苦短,全世界都在用Python!

责任编辑:

人生苦短我学python表情包_Python自动生成表情包相关推荐

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

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

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

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

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

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

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

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

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

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

  6. php动态生成apk渠道包,Android自动生成渠道包

    承接上文Android应用的自动化构建,我们已经通过ANT自动构建了应用,那接下来的问题是,如何自动构建渠道包,这里强烈推荐一篇文章美团Android自动化之旅-生成渠道包. 美团提到的第三种方式,截 ...

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

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

  8. python自动化代码生成_python 自动生成C++代码 (代码生成器)

    Python代码自动生成方法(代码生成器)遇到这种事在工作遇到问题,你需要写很多c++基础数据库类,但这些类是一样的,只不过是添加,删除,修改并检查.如果你手动编写代码,它是费力而容易出错;它可以很容 ...

  9. python表情包多样化图形化聊天室_Python还有这功能:自动生成表情包,从此斗图无敌手!...

    原标题:Python还有这功能:自动生成表情包,从此斗图无敌手!

最新文章

  1. R 语言关于 SSL 证书异常处理笔记
  2. 解决Docker容器内访问宿主机MySQL数据库服务器的问题
  3. UA PHYS515A 电磁理论V 电磁波与辐射1 电磁波的方程
  4. Java 5~11各个版本新特性史上最全总结
  5. Unity3d(U3D) Windows/Android/IOS 播放rtmp/rtsp方案
  6. nginx配置支持http2
  7. 测试mysql连接服务器_实现服务器与数据库的连接
  8. 设置 sideload Outlook Add-ins
  9. 《信息学奥赛一本通》1283:登山
  10. 给定数组,去掉0元素后将剩下的元素赋给新的数组
  11. Android之使用ViewPager实现图片展示(最简单的)
  12. Android 解压zip文件
  13. 漫画:什么是外部排序?
  14. JBPM 3.3.0 + JBOSS 4.2.3 + ORACLE 9i
  15. cactiez v11使用配置mysql_安装cactiez v11对windows和linux系统进行监控
  16. matlab中screen函数,13 PTB Screen 函数
  17. 使用matplotlib绘制xkcd风格的图表(解决中文字体问题)
  18. 教育行业数据防泄密解决方案
  19. 使用FFMPEG将WebM转为MP4或MKV
  20. LMDI 理论推导详解【从理论到Python-MATLAB实现(理论)】

热门文章

  1. emd实现信息隐藏_【读书笔记】深入理解TensorFlow架构设计与实现原理(五)
  2. oclick vue 传参 函数_详解Vue计算属性和侦听属性
  3. 某中学的排课管理系统_某中学的排课管理系统(SQL的简单应用)
  4. php 伪静态有什么用,网站为什么要做伪静态,做伪静态的好处是什么?
  5. oracle书写高质量sql,干货!SQL性能优化,书写高质量SQL语句
  6. 操作系统复习--OS的运行机制和体系结构
  7. 2d游戏引擎_游戏60秒:RTS游戏从2D到3D的蜕变
  8. 限定概率抽奖_圣诞节LOL紫色宝箱30连抽,限定全是冰雪,节日气氛很浓
  9. java el表达式 导航规则_诺禾:在jsp里面如何不写java代码展示数据(EL表达式的使用)...
  10. 抠图为什么要用绿布_《暮白首》为什么如此火爆?五个原因带你深度剖析