好嗨哦!用Python制作斗图表情包

640?wx_fmt=jpeg


Ahab杂货铺,专注Python开发技术,定期打卡LeetCode,锻炼编程能力

“表情包”是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,表情包一经诞生,就统治了中国人的社交圈,尤其是年轻人,他们的社交方式是所谓“天可不聊,图不可不斗”,几乎任何对话都会出现表情包的身影,一言不合就斗图,自己也会在聊天中发几个表情包,可是总会造成一些小误会,比如下面的图

640?wx_fmt=png

有好多朋友看到这个表情包之后误以为这也是我用Python做的,其实不然,这个图就是网上普通的表情包,但是今天我要用Python做几个表情包。

今天制作表情包用到的技术还是之前提到的Turtle库,可以从之前的文章除了画佩奇我们还要玩点更高级的,去学习Turtle的常用语法,今天的案例算是做一个小小的复习。话不多说先上图

640?wx_fmt=png

这是一个捂脸的表情,可以表达内心千万只***奔腾而过,使用Turtle来实现,可以将这个图分成以下几个部分:脸,嘴巴,牙齿,两边的眼泪,手指和手腕,完整的代码和语法不过多解释,贴一个画脸的代码。

 1# 画脸
2turtle.speed(5)
3turtle.setup(900600200200)
4turtle.pensize(5)
5turtle.right(90)
6turtle.penup()
7turtle.fd(100)
8turtle.left(90)
9turtle.pendown()
10turtle.begin_fill()
11turtle.pencolor("#B26A0F")  # head side color
12turtle.circle(150)
13turtle.fillcolor("#F9E549")  # face color
14turtle.end_fill()

640?wx_fmt=png

第二个图是斜眼笑,表达的意思你懂得2_02.png这两个表情包的完整的代码都已经上传到公众号后台,只需要在公众号后台回复【表情包】即可获取。

640?wx_fmt=jpeg

来看第三幅图,这个图是使用PIL库来生成的,其实这两个图是两张图拼起来的。首先呢,我们需要找两张图片,一张做表情包的背景,一张做表情。我们就以萌萌哒的熊猫头作为背景,然后试着在背景图上加入金馆长嘻哈表情。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

现在我们要把金馆长的表情叠加在熊猫头的背景图中,需要注意的是要在代码中控制好金馆长的表情叠加位置,不然会遮盖住其他轮廓。

1from PIL import Image,ImageDraw,ImageFont
2
3img = Image.open("640.jpg")
4jgz = Image.open("641.jpg")
5img.paste(jgz,(63,46))

640?wx_fmt=jpeg

图片的下方是留有一部分空白的,我们可以添加一些文字。

 1from PIL import Image,ImageDraw,ImageFont
2
3img = Image.open("640.jpg")
4jgz = Image.open("641.jpg")
5img.paste(jgz,(63,46))
6
7#控制表情的叠加位置
8draw = ImageDraw.Draw(img)
9font = ImageFont.truetype("simyou.TTF",24)
10draw.text((16,200),"好嗨哦!感觉人生已经到达了高潮!", fill = (0,0,0), font = font)
11#控制文字添加位置
12img.show()
13img.save("生成的表情包.jpg")

ok基本就这样,对表情包感兴趣的小伙伴可以按照下面方式获取源码。


640?wx_fmt=png

获 取 完 整 源 码

640?wx_fmt=png


长按关注下方公众号后,回复表情包即可获取


640?wx_fmt=png

§ §

Python中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里、腾讯、百度、微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以公安部、工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为、BAT、谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。


更多推荐


Python数据可视化:网易云音乐歌单


Python分析《三国演义》中的社交网络


用Python爬取金融市场数据


搭建CNN模型破解网站验证码


用Python进行图文识别(OCR)


投稿邮箱:pythonpost@163.com


640?wx_fmt=jpeg

点击下方阅读原文免费成为数据科学俱乐部会员

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值