用Python鬥圖,再配上個機器人,Monster Kill!

作者:Ahab 
公眾號:Python專欄
用Python鬥圖,再配上個機器人,Monster Kill!


“表情包”是現在非常流行的交流方式,通過一張圖片就能把文字不能表達或不便於表達的情感給表示出來,表情包一經誕生,就統治了中國人的社交圈,尤其是年輕人,他們的社交方式是所謂“天可不聊,圖不可不鬥”,幾乎任何對話都會出現表情包的身影,一言不合就鬥圖,自己也會在聊天中發幾個表情包,可是總會造成一些小誤會,比如下面的圖


用Python鬥圖,再配上個機器人,Monster Kill!


有好多朋友看到這個表情包之後誤以為這也是我用Python做的,其實不然,這個圖就是網上普通的表情包,但是今天我要用Python做幾個表情包。

話不多說先上圖:


用Python鬥圖,再配上個機器人,Monster Kill!


這是一個捂臉的表情,可以表達內心千萬只***奔騰而過,使用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()



用Python鬥圖,再配上個機器人,Monster Kill!


第二個圖是斜眼笑,表達的意思你懂得

用Python鬥圖,再配上個機器人,Monster Kill!

這兩個表情包的完整的代碼都已經上傳到公眾號後臺,只需要在公眾號後臺回覆「bqb」即可獲取。


用Python鬥圖,再配上個機器人,Monster Kill!


來看第三幅圖,這個圖是使用PIL庫來生成的,其實這兩個圖是兩張圖拼起來的。首先呢,我們需要找兩張圖片,一張做表情包的背景,一張做表情。我們就以萌萌噠的熊貓頭作為背景,然後試著在背景圖上加入金館長嘻哈表情。


用Python鬥圖,再配上個機器人,Monster Kill!


用Python鬥圖,再配上個機器人,Monster Kill!


現在我們要把金館長的表情疊加在熊貓頭的背景圖中,需要注意的是要在代碼中控制好金館長的表情疊加位置,不然會遮蓋住其他輪廓。

from PIL import Image,ImageDraw,ImageFont
img = Image.open("img.jpg")
jgz = Image.open("jgz.jpg")
img.paste(jgz,(63,46))



用Python鬥圖,再配上個機器人,Monster Kill!


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

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!


ok基本就這樣


分享到:


相關文章: