本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理
以下文章來源于碧茂大資料 ,作者碧茂大資料
于是對于影像處理,復雜的部分依然在PS或者AI中人工完成,簡單的處理就可以用Python程式完成,
在開工之前,先讓我們瞻仰膜拜一下表情包界里程碑式的人物,感謝他們大力推動了表情包在歷史潮流中的顯著進步,他們的卓越貢獻將永遠鐫刻于表情包史的豐碑上!
素材準備
這里我們以網路上流傳最廣的金館長表情為中心,以萌萌噠的熊貓頭作為背景,底下加上文字就能構成一張表情包,
然后用PS處理一下圖片大小,模板大小設為250*250,表情裁剪一下白邊,
圖片疊加
第一步作業是把表情疊加到模板上,注意到我們的表情素材是白底而不是透明,所以位置要控制好,不然會遮蓋住輪廓,
from PIL import Image, ImageDraw, ImageFont
img = Image.open(".\background.jpg")
jgz = Image.open(".\jgz.jpg")
img.paste(jgz,(73,42))
img.show()
這樣就會看到合成的圖片了:
這張圖片下方還有一截留白,那是給我們最后一步添加文字用的,come on,魔性的笑容已經呈現,接下來就是最后一擊,are you ready?!
文字疊加
盡管表情包的核心是表情,然而一行簡短而又震撼的文字往往能起到直擊靈魂的畫龍點睛的作用,
draw = ImageDraw.Draw(img)
ttfront = ImageFont.truetype('simhei.ttf', 24)
draw.text((32, 190),"我的內心毫無波動\n 甚至還想笑",fill=(0,0,0), font=ttfront)
img.show()
img.save(".\Python生成的表情包.jpg")
這樣就生成了一張完整的表情包了:
其中draw.text()是往圖層里輸入文字,所以可以不斷執行這條命令以在圖片里添加多層文字,
你還可以匯入多張表情,以及多個文本臺詞,這樣就可以大規模批量自動生產表情包了……
問題升華
你以為到這里就結束了嗎?too young啊!請童鞋們思考這個問題:
- 表情包下留白的空間是有限的
- 中文和英文以及標點符號占據的空間不同
- 如果文本太長,就需要換行;可是如果行太多,圖片就放不下
因此,當你腦中突然閃現出一句既包含中文也有英文還有N多標點符號以增強語氣的臺詞時,怎么設計一個演算法,用來尋找合適的字號大小,文本插入位置,文本在哪些地方換行,使文本能在有限空間居中展示,而且還要滿足一定的觀感呢?
算了,還是在這里結束吧……
于是,通過這篇嚴肅正經的教程,我們學會了使用Python進行簡單影像處理的方法,更get到一項實用的神技:自動生產表情包,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/173134.html
標籤:Python
下一篇:pymysql 常用操作
