斗圖?教你用Python製作表情包
作者 | Ahab
來源 | Ahab雜貨鋪 (ID:AhabBin)
「表情包」是現在非常流行的交流方式,通過一張圖片就能把文字不能表達或不便於表達的情感給表示出來,表情包一經誕生,就統治了中國人的社交圈,尤其是年輕人,他們的社交方式是所謂「天可不聊,圖不可不鬥」,幾乎任何對話都會出現表情包的身影,一言不合就斗圖,自己也會在聊天中發幾個表情包,可是總會造成一些小誤會,比如下面的圖
有好多朋友看到這個表情包之後誤以為這也是我用Python做的,其實不然,這個圖就是網上普通的表情包,但是今天我要用Python做幾個表情包。
今天製作表情包用到的技術還是之前提到的Turtle庫,可以從之前的文章除了畫佩奇我們還要玩點更高級的,去學習Turtle的常用語法,然後就是PIL庫,之前通過這篇文章:Python騷操作|用Python來P圖也介紹過PIL的幾個用法,今天的案例算是做一個小小的複習。話不多說先上圖。
這是一個捂臉的表情,可以表達內心千萬隻***奔騰而過,使用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") #headsidecolor
12turtle.circle(150)
13turtle.fillcolor("#F9E549") #facecolor
14turtle.end_fill()
第二個圖是斜眼笑,表達的意思你懂得。
來看第三幅圖,這個圖是使用PIL庫來生成的,其實這兩個圖是兩張圖拼起來的。首先呢,我們需要找兩張圖片,一張做表情包的背景,一張做表情。我們就以萌萌噠的熊貓頭作為背景,然後試著在背景圖上加入金館長嘻哈表情。
現在我們要把金館長的表情疊加在熊貓頭的背景圖中,需要注意的是要在代碼中控制好金館長的表情疊加位置,不然會遮蓋住其他輪廓。
1from PILimportImage,ImageDraw,ImageFont
2
3img = Image.open("640.jpg")
4jgz = Image.open("641.jpg")
5img.paste(jgz,(63,46))
圖片的下方是留有一部分空白的,我們可以添加一些文字。
1from PILimportImage,ImageDraw,ImageFont
2
3img = Image.open("640.jpg")
4jgz = Image.open("641.jpg")
5img.paste(jgz,(63,46))
6
7#控制表情的疊加位置
8draw = ImageDraw.Draw(img)
9font = ImageFont.truetype("simyou.TTF",24)
10draw.text((16,200),"Ahab雜貨鋪!", fill = (,,), font = font)
11#控制文字添加位置
12img.show()
13img.save("生成的表情包.jpg")
(本文為 AI科技大本營投稿文章,轉載請聯繫作者。)
TAG:AI科技大本營 |