斗图?教你用Python制作表情包

斗图?教你用Python制作表情包_第1张图片


作者 | Ahab 

来源 | Ahab杂货铺 (ID:AhabBin)


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


640?wx_fmt=png


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


今天制作表情包用到的技术还是之前提到的Turtle库,可以从之前的文章除了画佩奇我们还要玩点更高级的,去学习Turtle的常用语法,然后就是PIL库,之前通过这篇文章:Python骚操作|用Python来P图介绍过PIL的几个用法,今天的案例算是做一个小小的复习。话不多说先上图。


640?wx_fmt=png


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




1# 画脸
2turtle.speed(5)
3turtle.setup(900, 600, 200, 200)
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


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




1 from PIL import Image,ImageDraw,ImageFont
2 
3 img = Image.open("640.jpg")
4 jgz = Image.open("641.jpg")
5 img.paste(jgz,(63,46))
6 
7#控制表情的叠加位置
8 draw = ImageDraw.Draw(img)
9 font = ImageFont.truetype("simyou.TTF",24)
10 draw.text((16,200),"Ahab杂货铺!", fill = (0,0,0), font = font)
11 #控制文字添加位置
12 img.show()
13 img.save("生成的表情包.jpg")



640?wx_fmt=jpeg

(本文为 AI科技大本营投稿文章,转载请联系作者。)


公开课预告

今晚8点直播


如何用AI技术为黑白老照片上色?本次公开课中,百度高级研发工程师李超将讲述对抗生成网络相关,学术界的研究现状和应用场景,以及GAN在百度视觉+百度PR+新华社合作的焕彩项目中的应用。


640?wx_fmt=png


推荐阅读

  • 熬夜写代码,不如换女装入GitHub获上千Star?

  • 春节停车难?用Python找空车位

  • Python告诉你:为何年终奖多发一元,到手却少两千多?

  • 送你一份春节看片攻略~

  • 加班的程序员:996 没有未来

  • 滴滴回应顺风车重新上线;苹果推 iPhone 新政策;便利蜂“高数裁员”引争议? | 极客头条

  • 微服务架构下静态数据通用缓存机制

  • 打破区块链不可能三角!2 华人专家论文将登 NSDI 2019 计算机顶会

  • 女程序员:我敲代码养家,老公负责貌美如花!

640?wx_fmt=png

你可能感兴趣的:(斗图?教你用Python制作表情包)