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

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

3天内不再提示

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

5RJg_mcuworld 来源:未知 作者:易水寒 2018-09-01 11:57 次阅读

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

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

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

然而,在生产表情包的过程中,如果只是机械地把图片导进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也太好玩了,方向太多了!

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

    关注

    26

    文章

    1224

    浏览量

    55807
  • PS
    PS
    +关注

    关注

    0

    文章

    72

    浏览量

    36262
  • python
    +关注

    关注

    51

    文章

    4674

    浏览量

    83458

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

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    ),点击“移动组到……”,在弹出的下拉菜单中选择建立的组,即可为添加的QQ表情文件建立一个表情分组。 第三步:在QQ表情管理中导出
    发表于 05-07 08:39

    matlab建QQ群了,快来加入

    为了大家的学习与交流,我创建了一个QQ群来方便大家QQ:47100631快来加入
    发表于 04-18 16:21

    快来加入

    这是一个不错的网站哦,绝对是电子发烧友们的天堂!!快来加入!!
    发表于 05-22 23:46

    十大Python机器学习常用库

    序列的行为,同时也预测时序未来的行为状态。7. FireFire 是一个开源库,可以为任何 Python 项目自动生成一个命令行界面。几乎不需要编写任何代码或者文档,
    发表于 05-02 16:37

    Python技术学习之Django框架设计思想

    服务于整个框架,Django有许多功能强大的第三方插件,甚至可以很方便的开发出自己的工具。这使得Django具有很强的可扩展性。它还强调快速开发原则。Django框架遵循MVC设计M全拼为Model
    发表于 06-15 15:01

    怎么有效学习Python数据分析?

    Python在人工智能、机器学习领域受到火热追捧,很大程度上在于它拥有非常庞大的第三方库,以及强大的通用编程性能。因此,快速掌握Python进行数据分析,就是学习
    发表于 06-28 15:18

    快速学习Python的技巧

    的人也越来越多。以下是老男孩教育分享的Python学习五大必备技能!一、使用较新版本的Python需要验证的代码仍然运行。
    发表于 07-27 14:58

    使用 Python 开始机器学习

    在这篇文章中我们会讲Python的重要特征和它适用于机器学习的原因,介绍一些重要的机器学习,以及其他可以获取更详细资源的地方。为什么用
    发表于 12-11 18:37

    LC谐振电路——选频无敌手

    大家讲一下LC串联谐振、LC并联谐振的特点。·一、LRC串联电路(注意,LC串联谐振是LC串联电路的特例):LC串联电路·LC串联电路的电压矢量及电压、阻抗计算式 LC串联电路矢量及串联谐振矢量
    发表于 06-28 15:15

    TensorFlow常用Python扩展

    TensorFlow 能够实现大部分神经网络的功能。但是,这还是不够的。对于预处理任务、序列化甚至绘图任务,还需要更多的 Python 。下面列出了一些常用的 Python
    发表于 07-28 14:35

    腾讯停运QQ旋风!迅雷从此一家独大?我看不见得迅雷已死,转做擦边球视频了。下载只是副业

    最后,此次最大竞争对手QQ旋风的停运,对于迅雷来说无疑是个重大利好消息,因为目前在该市场领域,迅雷可以说是再无敌手
    发表于 08-06 08:56 9919次阅读
    腾讯停运QQ旋风!迅雷<b class='flag-5'>从此</b>一家独大?我看不见得迅雷已死,转做擦边球视频了。下载只是副业

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

    表情包不仅仅是一种符号,更是一种文化;是促进社交乃至社会发展的动力之一,就像懒。
    的头像 发表于 04-14 09:36 5067次阅读

    Python做几个表情

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

    Python学习点:为什么 range() 不生成迭代器

    迭代器是 23 种设计模式中最常用的一种(之一),在 Python 中随处可见它的身影,我们经常用到它,但是却不一定意识到它的存在。在关于迭代器的系列文章中(链接见文末),我至少提到了 23 种生成
    发表于 11-23 13:50 678次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>学习</b>点:为什么 range() 不<b class='flag-5'>生成</b>迭代器

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

    设计域分类损失函数指定表情域条件,使单个生成学习多个表情域之间的映射,同时利用模型生成器和判别器之间的条件约束与零和博弈,在仅训练一个
    发表于 05-13 15:31 6次下载