前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一个很皮的实践 Python自动生成表情包

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

作者头像
IT派
发布于 2018-07-30 08:43:23
发布于 2018-07-30 08:43:23
1.6K00
代码可运行
举报
文章被收录于专栏:IT派IT派
运行总次数:0
代码可运行

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

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

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

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

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

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

素材准备

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

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

图片叠加

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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?!

文字叠加

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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到一项实用的神技:自动生产表情包。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT派 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python | 自动生成表情包,从此斗图无敌手!
作为一个数据分析师,应该信奉一句话——"一图胜千言"。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!!
用户1634449
2018/09/21
1.6K0
Python | 自动生成表情包,从此斗图无敌手!
[309]python生成表情包
这里我们以网络上流传最广的金馆长表情为中心,以萌萌哒的熊猫头作为背景,底下加上文字就能构成一张表情包。
周小董
2022/04/12
8800
[309]python生成表情包
使用python实现图片增加水印
处于某些业务需求需要对一些特定的图片增加水印,于是去了解了PIL这个库,可以完美的解决这个问题
py3study
2020/12/09
7130
使用python实现图片增加水印
斗图?教你用Python制作表情包
“表情包”是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,表情包一经诞生,就统治了中国人的社交圈,尤其是年轻人,他们的社交方式是所谓“天可不聊,图不可不斗”,几乎任何对话都会出现表情包的身影,一言不合就斗图,自己也会在聊天中发几个表情包,可是总会造成一些小误会,比如下面的图
PM小王
2019/07/02
1.6K0
斗图?教你用Python制作表情包
Python在手 斗图我有
按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。
逍遥子大表哥
2021/12/19
2880
Python在手 斗图我有
python使用PIL给图片添加文字生成海报
那时的我,对于未来有很多遐想:写小说、写时评、写诗歌... 总而言之,就是成为一个文字工作者
章鱼喵
2018/08/22
3.2K0
python使用PIL给图片添加文字生成海报
用Python获取可能是全网最全的杰尼龟表情包(第三弹)
根据前几篇文章,我们已经得到了大量包含杰尼龟的图片,接下来我们就对这些图片来做一些简单的处理,添加与图片相符的文字或是生成gif动图。
老肥码码码
2020/04/11
6790
用Python生成自己专属的手机春节壁纸
首先我们需要选择一个现成的手机壁纸作为模板,我选择了这种以自己姓氏为主题的专属手机壁纸。
朱小五
2020/02/20
9540
用Python生成自己专属的手机春节壁纸
大神级Python工程师是怎么P图的,带你用Python玩转P图
1.PIL:Python影像库 PIL或者Python Imaging Library是一个包含许多函数来处理来自Python脚本的图像的包。PIL官方网站在这里。目前版本的PIL是PIL 1.1.7,可用于Python 2.3到Python 2.7。本文将使用Python 2.6的PIL 1.1.7。 在Windows(XP,Vista或者Seven)下,安装PIL相当简单:只需启动PIL Windows安装程序即可。当然你以前需要一个有效的Python 2.6.6安装。 PIL文档可在这里找到:
企鹅号小编
2018/01/12
1.7K0
大神级Python工程师是怎么P图的,带你用Python玩转P图
把你的朋友变成表情包?Python:So easy
在日常生活中,我们经常会存取一些朋友们的丑照,在这个项目中,我们以萌萌哒的熊猫头作为背景,然后试着在背景图上加入朋友们的照片。效果如下图所示。需要完整版代码文末获取!
Python知识大全
2020/11/10
9010
把你的朋友变成表情包?Python:So easy
程序员的浪漫-用她的名字作画Python版
hello,大家好,我是一灰灰,之前介绍了一篇使用她的名字来画出她的美图的文章,其中主要使用的Java来实现的,今天呢,我们再来用Python来实现一下
一灰灰blog
2022/05/30
5620
教你用Python秀恩爱、撒狗粮——这是我的某某某
新的一年悄然来临,祝大家在新的一年红红火火,幸福美满?。 本文教大家用Python来秀恩爱,撒狗粮,单身狗慎入(●ˇ∀ˇ●)。 绘制成果 HAPPY NEW YEAR 1、这是我的男朋友 2、这是我
阿黎逸阳
2021/01/11
4530
教你用Python秀恩爱、撒狗粮——这是我的某某某
10分钟学会pillow图像处理16式
PIL:Python Imaging Library,是Python环境下最受欢迎的图像处理库,木有之一。
lyhue1991
2020/07/28
7090
10分钟学会pillow图像处理16式
评价生成器
很多老师写评价,如果没有好工具,只能通过PPT或者一些其它排版工具,复制粘贴一堆内容,还要调整大小,位置,很不方便。
叶子陪你玩
2020/08/28
4.1K0
评价生成器
10分钟用Python做个微信朋友圈抽奖九宫格
哈哈,笑出猪叫!这个玩法利用了朋友圈发长图会显示中间局部的设定,搞笑之余也为朋友圈广告营销贡献了新思路。
短短的路走走停停
2019/08/02
1.2K0
10分钟用Python做个微信朋友圈抽奖九宫格
文字转图片,文字水印图片,合成图片,教你 Python 生成网站原创配图!
又是为站佬们服务(写)水文的一篇,如何应用python来生成或者说是合成自己的原创图片,适合各位站群大佬哥们生成自己的图片,避免没有配图或者侵权碰瓷的尴尬,当然本渣渣这里分享的仅仅是源码demo,后续使用到生产上,还是需要修改的。
二爷
2022/06/14
8.6K0
文字转图片,文字水印图片,合成图片,教你 Python 生成网站原创配图!
【Python从入门到精通】(二十六)用Python的PIL库(Pillow)处理图像真的得心应手
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。本篇重点介绍Python处理图像的标准库PIL库,处理图像真的的很方便。 干货满满,建议收藏,需要用到时常看看。小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~。
码农飞哥
2021/10/08
3.7K0
图像处理库Pillow(PIL)的使用-3(实例+详细注释+图片脚本)
Pillow 通过 ImageFilter 类来实现图像的增强效果,该类中集成了不同种类的滤波器,可以通过调用它们从而实现图像的平滑、锐化、边界增强等图像增强操作
laity
2025/02/25
2470
图像处理库Pillow(PIL)的使用-3(实例+详细注释+图片脚本)
使用Python批量给图片添加文字
你知道Python可以帮助向图像中添加文本吗?虽然Python不是图形编辑软件,但它能够很好地处理图像文件。在本文中,将在多个图像上放置一个示例文本“ExcelPerfect”。不用手动操作,也不用使用一些昂贵的软件,可以使用Python轻易达到同样的效果。
fanjy
2022/11/16
2.6K0
使用Python批量给图片添加文字
太妙了!几个用Python给图片添加水印的方法,简单实用
大家好,我是Jiejie。今天给大家分享几种可以给图片添加水印的方法,都是十分的简单实用,大家在看了之后也可以私底下去自己试试,有些方法需要的代码量就比较少,有些方法需要的代码量就稍微多一些,那我们开始吧
秃头程序员
2021/12/16
1.8K0
太妙了!几个用Python给图片添加水印的方法,简单实用
推荐阅读
相关推荐
Python | 自动生成表情包,从此斗图无敌手!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验