"一图胜千言"。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!!表情包不仅仅是一种符号,更是一种文化;是促进社交乃至社会发展的动力之一,就像懒。

我们坚持认为,一张优秀的表情包,应该是一幅艺术品,是那忽如一夜春风来的灵感爆发,是那嘈嘈切切错杂弹的情思激荡,是那直挂云帆济沧海的壮志豪情,是那一览天下众山小的荣耀胜利,是不可以容忍码农用其惯有的形式固定、流程固定、毫无美感、毫无艺术的变幻和惊喜的直线思维解构。

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

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

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

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

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

01 素材准备

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

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

02 图片叠加

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

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?!

03 文字叠加

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

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()是往图层里输入文字,所以可以不断执行这条命令以在图片里添加多层文字。

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

04 问题升华

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

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

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

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

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

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

大家有没有get到呢?如果有什么不懂的,可以在下面发表留言喔!

python 文本框不能放表情_用Python自动生成表情包,生活不易多才多艺!相关推荐

  1. python 数据框按行拼接_使用python进行数据分析

    Python常用的两类数据分析包:numpy.pandas 一.一维数据分析 (1)numpy数据包的导入.一维数据组的赋值与查询 (2)numpy一维数据与列表的区别 1.可以用来实现统计功能 如计 ...

  2. python数据框转化为矩阵_在Python中将系列重塑为Dataframe矩阵

    来源DF: In [159]: df Out[159]: val date 1992-01-31 1.123077 1992-02-28 -2.174845 1992-03-31 -3.884848 ...

  3. python 文本框位置_「每日一练」Python文本框的显示和插入

    Python强大之处在于对于数据的处理,而处理数据就离不开文本框,那么你知道Python中文本框是如何显示和插入吗? 案例 python文本框的显示和插入 先上代码~ 运行效果 题目详述 第一行: i ...

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

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

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

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

  6. 快递取件码生成软件_一种自动生成取件码的快递柜及其使用方法与流程

    本发明涉及快递柜技术领域,尤其是自动生成取件码的快递柜及其使用方法. 背景技术: 近年来,随着快递业的迅速发展,快递柜的应用也越发广泛.为了解决快递智能存储问题,许多小区已经安装了智能快递柜,快递员将 ...

  7. python文本框清空_用Python制作mini翻译器

    来源:http://suo.im/5ZI20R 1. 实例描述 在平时编程的过程中,会经常在网上翻译一些单词,本文使用Python制作一款翻译小工具,不仅可以自己用,还可以嵌入到程序当中.运行程序,效 ...

  8. python 文本框_重置Python中的文本框

    几个星期前,我在制作重置按钮时要求一些帮助,我是python的新手,还有一个Noob,主要是我在c& c#也是SQL反正我正在为游戏制作一个重置按钮,我无法让它工作.这是代码.问题似乎是它在发 ...

  9. gui设置可编辑文本框的回调函数_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...

    实例61使用PyQt5制作了图形用户界面(GUI).这个香是香,但是打包后的安装文件太大(约80M),感觉有些美中不足啊.由于这个GUI实在简单,从现实角度实在用不着高大上的PyQt5,所以改用Pyt ...

最新文章

  1. 高通5G版图现身!你的网络生活将迎来巨变?
  2. 程序员没有天才:暴风影音首席架构师鲍金龙访谈
  3. 陶哲轩实分析 习题 13.5.6
  4. 2017-10-9(Volley使用范例源码分析)
  5. 什么是python扩展库_什么是目前比较常用的Python扩展库管理工具
  6. html锚点反向联动,小程序菜单左右联动
  7. java mvc返回js_技术趋势:是什么让MVC悄然消失的?
  8. Python数据分析学习笔记04:Pandas基础
  9. python-day34--进程补充
  10. linux电路图软件有哪些,新手福利,推荐一款好用的电路图绘制软件!
  11. 机器学习基本概念-有监督学习和无监督学习
  12. sklearn中多种编码方式——category_encoders(one-hot多种用法)
  13. 自己写的一点福利代码(三)
  14. 程序员,要不要考软考高级职称?
  15. maven获取所有依赖项
  16. 4.4.1 ICMP报文的种类
  17. 明天是程序员节,程序员的过节姿势大全抢先看
  18. Windows 技术篇-重装电脑系统后搜不到蓝牙设备问题,电脑连接蓝牙不成功原因及解决办法
  19. 网安面试题汇总--持续记录
  20. Redis缓存(二)缓存淘汰策略,脏数据/脏页,缓存污染

热门文章

  1. 大学计算机作业互评评语简短,同学作业互评评语
  2. 抗洪救灾,共克时艰,城联优品捐赠10万元爱心物资驰援英德
  3. 决赛名单出炉!“云”上巅峰群雄竞
  4. 几种常用网页文本编辑器总结
  5. 软件测试知识点和面试题--手工测试篇(功能测试)
  6. 微软python认证难不难_微软MTA认证98-381Python高分必看——100小时Python从0到1完全学习实战...
  7. cad 切图_CAD如何绘制并标注剖切图
  8. ChatGPT套壳网站汇总-5月22日更新
  9. Nordic新发布nRF21540与RFX2401C和CC2592性能对比
  10. Latex编辑器Texstudio的注释快捷键。