0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用用Python来自动生成表情包

马哥Linux运维 来源:未知 作者:胡薇 2018-04-14 09:36 次阅读

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

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

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

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

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

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

素材准备

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

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

图片叠加

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

from PIL importImage, 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到一项实用的神技:自动生产表情包。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • javascript
    +关注

    关注

    0

    文章

    516

    浏览量

    53792
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84449

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

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何制作QQ表情的安装?如何制作eip文件?

    的分组信息。 至此,BMP, JPG,GIF格式的QQ表情图片就轻松制作成了eip表情安装格式。Eip格式的QQ表情自动安装,可自选是否
    发表于 05-07 08:39

    【大神课堂】深入浅出教你进行Python自动生成表情

    作为一个数据分析师,应该信奉一句话----"一图胜千言"。不过这里要说的并不是数据可视化,而是一款全民向的产品形态----表情!!!!
    的头像 发表于 04-20 14:18 2701次阅读

    使用深度学习,制作“图片+文字”型的表情

    数据集是这个表情生成器的精髓。他们的数据集由大约40万张带标签和图说的图片组成。其中有2600个独特的图像-标签对,是他们写Python脚本从Memegenerator.net中获取
    的头像 发表于 07-03 10:14 1w次阅读

    AI为表情生成搞笑文字说明

    制作表情还能获得研究生学分?如果使用深度学习技术来实现的话,是有可能的。
    的头像 发表于 07-31 17:38 7697次阅读

    Python自动生成表情功能你会使用吗?快来学习吧,从此斗图无敌手!

    作为一个数据分析师,应该信奉一句话——"一图胜千言"。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情!!!!
    的头像 发表于 09-01 11:57 4094次阅读

    Python做几个表情

    今天制作表情用到的技术还是之前提到的Turtle库,可以从之前的文章除了画佩奇我们还要玩点更高级的,去学习Turtle的常用语法,然后就是PIL库,之前通过这篇文章:Python骚操作|用P
    的头像 发表于 02-11 11:13 5163次阅读

    怎么用Python制作自己的专属表情?

    不要和会Python的人斗图!
    的头像 发表于 03-01 17:31 4729次阅读

    【大大表情】数字化转型好伙伴!钢铁大大表情全新升级!

    【大大表情】数字化转型好伙伴!钢铁大大表情全新升级!
    的头像 发表于 06-27 19:39 3926次阅读

    可通过面部表情来发送表情的耳机

    无需打字、无需搜索表情,只需对着手机微笑,就能发出微笑表情。 同样的,对着手机皱眉,就能发出皱眉表情。 以上功能
    的头像 发表于 10-30 10:13 2237次阅读
    可通过面部<b class='flag-5'>表情</b>来发送<b class='flag-5'>表情</b><b class='flag-5'>包</b>的耳机

    基于条件生成式对抗网络的面部表情迁移模型

    面部表情迁移是计算机视觉角色动画领域的关键技术,但现有面部表情迁移方法存在生成表情不自然、缺乏真实感、迁移模型复杂以及训练难度大等问题。为此,构建一种基于条件
    发表于 05-13 15:31 6次下载

    详解python常规与命名空间

    python常规与命名空间 1. 常规Python 3.3 之前或者说 Python
    的头像 发表于 03-11 15:46 3389次阅读

    Python怎么批量生成PDF文档

    这种模板套用的场景下,使用Python进行自动化就尤为方便,用最短的时间办最高效的事。 今天就给大家讲讲如何用Python自动套用模板批量生成
    的头像 发表于 02-28 10:11 1092次阅读
    <b class='flag-5'>Python</b>怎么批量<b class='flag-5'>生成</b>PDF文档

    如何用Python自动套用模板批量生成PDF文档

    办最高效的事。 今天就给大家讲讲如何用Python自动套用模板批量生成下方这样的PDF文档。 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这
    的头像 发表于 10-31 10:56 1481次阅读
    如何用<b class='flag-5'>Python</b><b class='flag-5'>自动</b>套用模板批量<b class='flag-5'>生成</b>PDF文档

    如何使用Python编写脚本来自动发送邮件

    Python是一种非常流行的编程语言,可以用于多种用途,包括自动化任务。其中一个常见的自动化任务是自动发送邮件。在本文中,我们将介绍如何使用Pyth
    的头像 发表于 12-07 11:36 1305次阅读

    旷视AI开源新突破:上传照片即可生成表情视频!

    为了展示其泛化性,MegActor甚至可以将VASA中的人物肖像和视频组合生成,得到生动的表情视频。即使与阿里EMO的官方案例相比,MegActor也能生成近似的效果。
    的头像 发表于 07-12 11:20 325次阅读
    旷视AI开源新突破:上传照片即可<b class='flag-5'>生成</b><b class='flag-5'>表情</b><b class='flag-5'>包</b>视频!