“表情包”是現(xiàn)在非常流行的交流方式,通過(guò)一張圖片就能把文字不能表達(dá)或不便于表達(dá)的情感給表示出來(lái),表情包一經(jīng)誕生,就統(tǒng)治了中國(guó)人的社交圈,尤其是年輕人,他們的社交方式是所謂“天可不聊,圖不可不斗”,幾乎任何對(duì)話都會(huì)出現(xiàn)表情包的身影,一言不合就斗圖,自己也會(huì)在聊天中發(fā)幾個(gè)表情包,可是總會(huì)造成一些小誤會(huì),比如下面的圖
有好多朋友看到這個(gè)表情包之后誤以為這也是我用Python做的,其實(shí)不然,這個(gè)圖就是網(wǎng)上普通的表情包,但是今天我要用Python做幾個(gè)表情包。
今天制作表情包用到的技術(shù)還是之前提到的Turtle庫(kù),可以從之前的文章除了畫佩奇我們還要玩點(diǎn)更高級(jí)的,去學(xué)習(xí)Turtle的常用語(yǔ)法,然后就是PIL庫(kù),之前通過(guò)這篇文章:Python騷操作|用Python來(lái)P圖也介紹過(guò)PIL的幾個(gè)用法,今天的案例算是做一個(gè)小小的復(fù)習(xí)。話不多說(shuō)先上圖。
這是一個(gè)捂臉的表情,可以表達(dá)內(nèi)心千萬(wàn)只***奔騰而過(guò),使用Turtle來(lái)實(shí)現(xiàn),可以將這個(gè)圖分成以下幾個(gè)部分:臉,嘴巴,牙齒,兩邊的眼淚,手指和手腕,完整的代碼和語(yǔ)法不過(guò)多解釋,貼一個(gè)畫臉的代碼。
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")#headsidecolor12turtle.circle(150)13turtle.fillcolor("#F9E549")#facecolor14turtle.end_fill()
第二個(gè)圖是斜眼笑,表達(dá)的意思你懂得。
來(lái)看第三幅圖,這個(gè)圖是使用PIL庫(kù)來(lái)生成的,其實(shí)這兩個(gè)圖是兩張圖拼起來(lái)的。首先呢,我們需要找兩張圖片,一張做表情包的背景,一張做表情。我們就以萌萌噠的熊貓頭作為背景,然后試著在背景圖上加入金館長(zhǎng)嘻哈表情。
現(xiàn)在我們要把金館長(zhǎng)的表情疊加在熊貓頭的背景圖中,需要注意的是要在代碼中控制好金館長(zhǎng)的表情疊加位置,不然會(huì)遮蓋住其他輪廓。
1fromPILimportImage,ImageDraw,ImageFont23img=Image.open("640.jpg")4jgz=Image.open("641.jpg")5img.paste(jgz,(63,46))
圖片的下方是留有一部分空白的,我們可以添加一些文字。
1fromPILimportImage,ImageDraw,ImageFont 2 3img=Image.open("640.jpg") 4jgz=Image.open("641.jpg") 5 img.paste(jgz,(63,46)) 6 7#控制表情的疊加位置 8draw=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")
-
代碼
+關(guān)注
關(guān)注
30文章
4670瀏覽量
67760 -
python
+關(guān)注
關(guān)注
53文章
4753瀏覽量
84068 -
PIL
+關(guān)注
關(guān)注
0文章
19瀏覽量
8566
原文標(biāo)題:斗圖?教你用Python制作表情包
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論