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

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

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

然而,在生产表情包的过程中,如果只是机械地把图片导进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啊!请童鞋们思考这个问题:

  1. 表情包下留白的空间是有限的
  2. 中文和英文以及标点符号占据的空间不同
  3. 如果文本太长,就需要换行;可是如果行太多,图片就放不下

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

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

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

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

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

Python自动生成表情包,从此斗图无敌手!相关推荐

  1. python恶搞表情包-Python自动生成表情包,python在手,从此斗图无敌手

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

  2. python从入门到入土表情包-Python自动生成表情包,python在手,从此斗图无敌手

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

  3. Python自动生成表情包,python在手,从此斗图无敌手!

    点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 作者 Python雁横 原文 https://blog.csdn.net/qq_4 ...

  4. Python | 自动生成表情包,从此斗图无敌手!

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

  5. Python自动生成表情包 斗图再无对手!

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

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

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

  7. 一个很皮的实践 Python自动生成表情包

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

  8. python怎么做图像处理_Python其实也可以做一些简单的图像处理,Python自动生成表情包...

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

  9. python多线程爬表情包,斗图斗够瘾~

    前言 嗨喽!大家好,这里是魔王. 什么?群里又在斗图 (+_+)? 别动让我来(>人<:) 教你一招爬取海量表情包图片, 从此告别图慌 !!! 课 题:python爬取海量表情包 课程亮点 ...

最新文章

  1. 如何打印一个Struct来调试
  2. html点击子元素隐藏div,jq 点击div,显示当前div内容,隐藏其他div的子元素
  3. 初学JSP+Servlet常见的错误
  4. LeetCode 529. 扫雷游戏(广度优先搜索BFS/深度优先搜索DFS)
  5. linux java no x11_在linux下运行javaMail程序报No X11 DISPLAY variable was...
  6. 最小生成树计数(HYSBZ-1016)(简化版实现)
  7. linux下安装php两种模式区别
  8. sql server代理无法启动_谁说前端不需要懂Nginx反向代理与负载均衡
  9. 站在“巨人”的肩膀上运维
  10. python wechatpay微信支付回调_python服务器 实现app微信支付:支付异步通知
  11. amp;#9733;《唐琅探案》后记【3】
  12. layui文档,最新文档地址,官网已经下线
  13. 【总结整理】高德LBS开放平台学习
  14. FPGA数字图像处理
  15. 亲测成功 office 2007 安装问题 无法找到OfficeLR.cab/OfficeMUI.msi
  16. ppt文字磨砂玻璃效果制作教程
  17. OCO-2叶绿素荧光下载链接
  18. WinRAR实用技巧:一个设置,可能让多文件压缩变得更小!
  19. python3 利用ffmpeg把音频转换为16khz的wav文件
  20. 游戏应用出海本地化策略,巴西篇

热门文章

  1. 智慧校园之蓝牙定位在学校中的应用,蓝牙室内定位-新导智能
  2. vs无法写入量的大数据_足球大数据分析 法甲 20:00 南特 VS 梅斯
  3. 浅析-腾讯产品项目的流程
  4. 2021年河南省高考适应性测试成绩查询,2021年河南省普通高中毕业班高考适应性测试英语试题...
  5. table、tr、td表格的行、单元格等属性说明
  6. 有哪些证件扫描软件?六种值得一试的途径
  7. 32.构造ICMP请求包进行路由跟踪
  8. 【无标题】全套管钻机噪声试验方法分析研究
  9. 试用了hipihi首批账号
  10. windows11远程连接Ubuntu桌面