“表情包”是現(xiàn)在非常流行的交流方式,通過一張圖片就能把文字不能表達或不便于表達的情感給表示出來,表情包一經(jīng)誕生,就統(tǒng)治了中國人的社交圈,尤其是年輕人,他們的社交方式是所謂“天可不聊,圖不可不斗”,幾乎任何對話都會出現(xiàn)表情包的身影,一言不合就斗圖,自己也會在聊天中發(fā)幾個表情包,可是總會造成一些小誤會,比如下面的圖
有好多朋友看到這個表情包之后誤以為這也是我用Python做的,其實不然,這個圖就是網(wǎng)上普通的表情包,但是今天我要用Python做幾個表情包。
今天制作表情包用到的技術(shù)還是之前提到的Turtle庫,可以從之前的文章除了畫佩奇我們還要玩點更高級的,去學(xué)習(xí)Turtle的常用語法,然后就是PIL庫,之前通過這篇文章:Python騷操作|用Python來P圖也介紹過PIL的幾個用法,今天的案例算是做一個小小的復(fù)習(xí)。
這是一個捂臉的表情,可以表達內(nèi)心千萬只 * 奔騰而過,使用Turtle來實現(xiàn),可以將這個圖分成以下幾個部分:臉,嘴巴,牙齒,兩邊的眼淚,手指和手腕,完整的代碼和語法不過多解釋,貼一個畫臉的代碼。
# 畫臉 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") # head side color turtle.circle(150) turtle.fillcolor("#F9E549") # face color turtle.end_fill()
第二個圖是斜眼笑,表達的意思你懂得。
來看第三幅圖,這個圖是使用PIL庫來生成的,其實這兩個圖是兩張圖拼起來的。首先呢,我們需要找兩張圖片,一張做表情包的背景,一張做表情。我們就以萌萌噠的熊貓頭作為背景,然后試著在背景圖上加入金館長嘻哈表情。
現(xiàn)在我們要把金館長的表情疊加在熊貓頭的背景圖中,需要注意的是要在代碼中控制好金館長的表情疊加位置,不然會遮蓋住其他輪廓。
from PIL import Image,ImageDraw,ImageFont img = Image.open("640.jpg") jgz = Image.open("641.jpg") img.paste(jgz,(63,46))
圖片的下方是留有一部分空白的,我們可以添加一些文字。
from PIL import Image,ImageDraw,ImageFont img = Image.open("640.jpg") jgz = Image.open("641.jpg") img.paste(jgz,(63,46)) #控制表情的疊加位置 draw = ImageDraw.Draw(img) font = ImageFont.truetype("simyou.TTF",24) draw.text((16,200),"Ahab雜貨鋪!", fill = (0,0,0), font = font) #控制文字添加位置 img.show() img.save("生成的表情包.jpg")
總結(jié)
以上所述是小編給大家介紹的使用Python制作表情包實現(xiàn)換臉功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
