鬥圖?教你用Python製作表情包


鬥圖?教你用Python製作表情包

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

私信小編007即可自動獲取大量Python學習資料!


鬥圖?教你用Python製作表情包


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

今天製作表情包用到的技術還是之前提到的Turtle庫,可以從之前的文章除了畫佩奇我們還要玩點更高級的,去學習Turtle的常用語法,然後就是PIL庫,之前通過這篇文章:Python騷操作|用Python來P圖也介紹過PIL的幾個用法,今天的案例算是做一個小小的複習。話不多說先上圖。


鬥圖?教你用Python製作表情包


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



鬥圖?教你用Python製作表情包



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

鬥圖?教你用Python製作表情包


鬥圖?教你用Python製作表情包



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


鬥圖?教你用Python製作表情包


鬥圖?教你用Python製作表情包



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

1from PIL import Image,ImageDraw,ImageFont 

2
3img = Image.open("640.jpg")
4jgz = Image.open("641.jpg")
5img.paste(jgz,(63,46))



鬥圖?教你用Python製作表情包



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

 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")



鬥圖?教你用Python製作表情包




分享到:


相關文章: