用python画微信捂脸_用 Python 画一个捂脸表情

微信中的捂脸表情相信大家都不陌生,我见过以及自己使用这个表情的频率都是比较高的,可以说这个表情算是大部分人的主打表情之一了,本文我使用 Python 来画一下这个表情,我们使用到的库还是 turtle。

实现

因微信中的表情较小,我到网上找了一个大一点的,一起来看一下:

026fbe628045721044d9a845802637da.png

从图中我们可以看出这个表情由:脸框(那个大圆圈)、手、眼睛、眼泪、嘴(包括牙齿),下面我们看一下如何使用 Python 来画它。

首先,我们来画脸框,代码实现如下:

turtle.speed(5)

turtle.setup(500, 500)

turtle.pensize(5)

turtle.right(90)

turtle.penup()

turtle.fd(100)

turtle.left(90)

turtle.pendown()

turtle.begin_fill()

turtle.pencolor("#B8860B")

turtle.circle(150)

turtle.fillcolor("#FFFF99")

turtle.end_fill()

看一下效果:

4af20c7643fdea64e9b5ed20c3d9069f.png

接着来画嘴(包括牙齿),代码实现如下:

turtle.penup()

turtle.goto(77, 20)

turtle.pencolor("#B8860B")

turtle.goto(0, 50)

turtle.right(30)

turtle.fd(110)

turtle.right(90)

turtle.pendown()

turtle.begin_fill()

turtle.fillcolor("#925902")

turtle.circle(-97, 160)

turtle.goto(92, -3)

turtle.end_fill()

turtle.penup()

turtle.goto(77, -25)

# 牙齿

turtle.pencolor("white")

turtle.begin_fill()

turtle.fillcolor("white")

turtle.goto(77, -24)

turtle.goto(-81, 29)

turtle.goto(-70, 43)

turtle.goto(77, -8)

turtle.end_fill()

turtle.penup()

turtle.goto(0, -100)

turtle.setheading(0)

turtle.pendown()

看一下效果:

7c8abc9325409cefbad2036312256254.png

再接着来画眼泪,代码实现如下:

# 左边眼泪

turtle.left(90)

turtle.pensize(3)

turtle.penup()

turtle.fd(150)

turtle.right(60)

turtle.fd(-150)

turtle.pendown()

turtle.left(20)

turtle.pencolor("#155F84")

turtle.fd(150)

turtle.right(180)

position1 = turtle.position()

turtle.begin_fill()

turtle.fillcolor("#B0E0E6")

turtle.fd(150)

turtle.right(20)

turtle.left(270)

turtle.circle(-150, 18)

turtle.right(52)

turtle.fd(110)

position2 = turtle.position()

turtle.goto(-33, 90)

turtle.end_fill()

# 右边眼泪

turtle.penup()

turtle.goto(0, 0)

turtle.setheading(0)

turtle.left(90)

turtle.fd(50)

turtle.right(150)

turtle.fd(150)

turtle.left(150)

turtle.fd(100)

turtle.pendown()

turtle.begin_fill()

turtle.fd(-100)

turtle.fillcolor("#B0E0E6")

turtle.right(60)

turtle.circle(150, 15)

turtle.left(45)

turtle.fd(66)

turtle.goto(77, 20)

turtle.end_fill()

看一下效果:

f2e89cd47b285c06d8359f4a1bce7bbb.png

再接着画眼睛,代码实现如下:

turtle.pensize(5)

turtle.penup()

turtle.pencolor("black")

turtle.goto(-65, 75)

turtle.setheading(0)

turtle.left(27)

turtle.fd(30)

turtle.pendown()

turtle.begin_fill()

turtle.fillcolor("black")

turtle.left(90)

turtle.circle(30, 86)

turtle.goto(position2[0], position2[1])

turtle.goto(position1[0], position1[1])

turtle.end_fill()

看一下效果:

224cf52a3d88e861da0a45c6ed9b72d6.png

最后,我们来画手,代码实现如下:

turtle.pencolor("#B8860B")

turtle.fillcolor("#FFFF99")

arc(-110, 10, 110, -40, 30)

turtle.begin_fill()

turtle.circle(300, 35)

turtle.circle(13, 120)

turtle.setheading(-50)

turtle.fd(20)

turtle.setheading(130)

turtle.circle(200, 15)

turtle.circle(12, 180)

turtle.fd(40)

turtle.setheading(137)

turtle.circle(200, 16)

turtle.circle(12, 160)

turtle.setheading(-35)

turtle.fd(45)

turtle.setheading(140)

turtle.circle(200, 13)

turtle.circle(11, 160)

turtle.setheading(-35)

turtle.fd(40)

turtle.setheading(145)

turtle.circle(200, 9)

turtle.circle(10, 180)

turtle.setheading(-31)

turtle.fd(50)

turtle.setheading(-45)

turtle.pensize(7)

turtle.right(5)

turtle.circle(180, 35)

turtle.end_fill()

turtle.begin_fill()

turtle.setheading(-77)

turtle.fd(50)

turtle.left(-279)

turtle.fd(16)

turtle.circle(29, 90)

turtle.end_fill()

看一下最终效果:

69f289c25caccb4f355a3bed3e439d56.png

是不是有内味了。

总结

本文我们使用 Python 画了一个捂脸表情,如果大家对实现效果不满意的话,可以自己动手将它修改成自己满意的样子。

源码在公众号 Python小二 后台回复 fp 获取。

声明:本文非首发于个人号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值