用Python斗图,再配上个机器人,Monster Kill !

                                                                                

用Python斗图,再配上个机器人,Monster Kill !_第1张图片

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

640?wx_fmt=png

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

话不多说先上图:

640?wx_fmt=png

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

# 画脸
turtle.speed(5)
turtle.setup(900, 600, 200, 200)
turtle.pensize(5)
turtle.right(90)
turtle.penup()
turtle.fd(100)
turtle.left(90)
turtle.pendown()
turtle.begin_fill()
turtle.pencolor("#B26A0F")  # 头边的颜色
turtle.circle(150)
turtle.fillcolor("#F9E549")  # 脸部画笔
turtle.end_fill()

640?wx_fmt=png

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

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

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

from PIL import Image,ImageDraw,ImageFont

img = Image.open("img.jpg")
jgz = Image.open("jgz.jpg")
img.paste(jgz,(63,46))

640?wx_fmt=jpeg

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

from PIL import Image,ImageDraw,ImageFont

img = Image.open("img.jpg")
jgz = Image.open("jgz.jpg")
img.paste(jgz, (63, 46))

# 控制表情的叠加位置
draw = ImageDraw.Draw(img)

# 字体记得用这个,不然你就会乱码了
# 乱码懂吗?就是xxx?
font = ImageFont.truetype("simyou.TTF", 24)
draw.text((16, 200), "Python专栏", fill = (0, 0, 0), font = font)

# 控制文字添加位置
img.show()
img.save("生成的表情包.jpg")

用Python斗图,再配上个机器人,Monster Kill !_第2张图片

ok基本就这样,对表情包感兴趣的小伙伴后台回复【表情包】即可获取源码。


⚠️注意:文中的img.jpeg、jgz.jpeg、simyou.ttf字体我都已经上传到Git上去了。后台回复:「jgz」获取链接。


你可能感兴趣的:(用Python斗图,再配上个机器人,Monster Kill !)