教你用Python實現無限換臉技術,制作表情包


 

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


這里要注意:不管你是為了Python就業還是興趣愛好,記住:項目開發經驗永遠是核心,如果你沒有2020最新python入門到高級實戰視頻教程,可以去小編的Python交流.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,里面很多新python教程項目,還可以跟老司機交流討教!

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

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

image

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

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

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

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

1from PIL import Image,ImageDraw,ImageFont 2 3img = Image.open("640.jpg") 4jgz = Image.open("641.jpg") 5img.paste(jgz,(63,46))

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

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就業還是興趣愛好,記住:項目開發經驗永遠是核心,如果你沒有2020最新python入門到高級實戰視頻教程,可以去小編的Python交流.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,里面很多新python教程項目,還可以跟老司機交流討教!

本文的文字及圖片來源於網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM