最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python自動(dòng)生產(chǎn)表情包

 更新時(shí)間:2017年03月17日 09:56:45   作者:依然很拉風(fēng)  
本文主要介紹了使用Python進(jìn)行簡(jiǎn)單圖像處理的方法以及Python自動(dòng)生產(chǎn)表情包的實(shí)例,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧

作為一個(gè)數(shù)據(jù)分析師,應(yīng)該信奉一句話——“一圖勝千言”。不過(guò)這里要說(shuō)的并不是數(shù)據(jù)可視化,而是一款全民向的產(chǎn)品形態(tài)——表情包?。。?!

表情包不僅僅是一種符號(hào),更是一種文化——是促進(jìn)社交乃至社會(huì)發(fā)展的動(dòng)力之一,就像懶。我們堅(jiān)持認(rèn)為,一張優(yōu)秀的表情包,應(yīng)該是一幅藝術(shù)品,是那忽如一夜春風(fēng)來(lái)的靈感爆發(fā),是那嘈嘈切切錯(cuò)雜彈的情思激蕩,是那直掛云帆濟(jì)滄海的壯志豪情,是那一覽天下眾山小的榮耀勝利——是不可以容忍碼農(nóng)用其慣有的形式固定、流程固定、毫無(wú)美感、毫無(wú)藝術(shù)的變幻和驚喜的直線思維解構(gòu)。然而,在生產(chǎn)表情包的過(guò)程中,如果只是機(jī)械地把圖片導(dǎo)進(jìn)PS——改文字——導(dǎo)出,那也太low了,所以還是把這些很low的機(jī)械化的重復(fù)動(dòng)作交給程序來(lái)做吧。

之前一直以為圖像的自動(dòng)處理,要靠JavaScript腳本控制PS或者AI;后來(lái)發(fā)現(xiàn)Python其實(shí)也可以做一些簡(jiǎn)單的圖像處理,雖然可能比不上MATLAB強(qiáng)大。于是對(duì)于圖像處理,復(fù)雜的部分依然在PS或者AI中人工完成,簡(jiǎn)單的處理就可以用Python程序完成。

在開(kāi)工之前,先讓我們瞻仰膜拜一下表情包界里程碑式的人物,感謝他們大力推動(dòng)了表情包在歷史潮流中的顯著進(jìn)步,他們的英名將長(zhǎng)期被人民大眾津津樂(lè)道,他們的音容笑貌將在人們的日常社交中經(jīng)久不衰,他們的卓越貢獻(xiàn)將永遠(yuǎn)鐫刻于表情包史的豐碑上!

(如果表情可以收版權(quán)費(fèi)的話,那就不用辛辛苦苦地去打球、拍戲、播音了……)

素材準(zhǔn)備

這里我們以網(wǎng)絡(luò)上流傳最廣的金館長(zhǎng)表情為中心,以萌萌噠的熊貓頭作為背景,底下加上文字就能構(gòu)成一張表情包。

然后用PS處理一下圖片大小,模板大小設(shè)為250*250,表情裁剪一下白邊。

圖片疊加

第一步工作是把表情疊加到模板上,注意到我們的表情素材是白底而不是透明,所以位置要控制好,不然會(huì)遮蓋住輪廓。

from PIL import Image, ImageDraw, ImageFont
img = Image.open(".\background.jpg")
jgz = Image.open(".\jgz.jpg")
img.paste(jgz,(73,42))
img.show()

這樣就會(huì)看到合成的圖片了:

這張圖片下方還有一截留白,那是給我們最后一步添加文字用的。come on,魔性的笑容已經(jīng)呈現(xiàn),接下來(lái)就是最后一擊,are you OK?! 哦不,are you ready?!

文字疊加

盡管表情包的核心是表情,然而一行簡(jiǎn)短而又震撼的文字往往能起到直擊靈魂的畫(huà)龍點(diǎn)睛的作用。

draw = ImageDraw.Draw(img) 
ttfront = ImageFont.truetype('simhei.ttf', 24) 
draw.text((32, 190),"我的內(nèi)心毫無(wú)波動(dòng)\n 甚至還想笑",fill=(0,0,0), font=ttfront) 
img.show()
img.save(".\Python生成的表情包.jpg")

這樣就生成了一張完整的表情包了:

其中draw.text()是往圖層里輸入文字,所以可以不斷執(zhí)行這條命令以在圖片里添加多層文字。

你還可以導(dǎo)入多張表情,以及多個(gè)文本臺(tái)詞,這樣就可以大規(guī)模批量自動(dòng)生產(chǎn)表情包了……

問(wèn)題升華

你以為到這里就結(jié)束了嗎?too young??!請(qǐng)童鞋們思考這個(gè)問(wèn)題:

  • 表情包下留白的空間是有限的
  • 中文和英文以及標(biāo)點(diǎn)符號(hào)占據(jù)的空間不同
  • 如果文本太長(zhǎng),就需要換行;可是如果行太多,圖片就放不下

因此,當(dāng)你腦中突然閃現(xiàn)出一句既包含中文也有英文還有N多標(biāo)點(diǎn)符號(hào)以增強(qiáng)語(yǔ)氣的臺(tái)詞時(shí),怎么設(shè)計(jì)一個(gè)算法,用來(lái)尋找合適的字號(hào)大小,文本插入位置,文本在哪些地方換行,使文本能在有限空間居中展示,而且還要滿足一定的觀感呢?

算了,還是在這里結(jié)束吧……

于是,通過(guò)這篇嚴(yán)肅正經(jīng)的教程,我們學(xué)會(huì)了使用Python進(jìn)行簡(jiǎn)單圖像處理的方法,更get到一項(xiàng)實(shí)用的神技:自動(dòng)生產(chǎn)表情包。

最重要的是,老夫經(jīng)常說(shuō)的“信不信我分分鐘批量做你大堆的表情包”,終于成為現(xiàn)實(shí)了……

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • django框架實(shí)現(xiàn)一次性上傳多個(gè)文件功能示例【批量上傳】

    django框架實(shí)現(xiàn)一次性上傳多個(gè)文件功能示例【批量上傳】

    這篇文章主要介紹了django框架實(shí)現(xiàn)一次性上傳多個(gè)文件功能,結(jié)合實(shí)例形式分析了Django框架批量上傳相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2019-06-06
  • PyTorch實(shí)現(xiàn)FedProx聯(lián)邦學(xué)習(xí)算法

    PyTorch實(shí)現(xiàn)FedProx聯(lián)邦學(xué)習(xí)算法

    這篇文章主要為大家介紹了PyTorch實(shí)現(xiàn)FedProx的聯(lián)邦學(xué)習(xí)算法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python+logging輸出到屏幕將log日志寫(xiě)入文件

    Python+logging輸出到屏幕將log日志寫(xiě)入文件

    這篇文章主要給大家介紹了關(guān)于Python+logging輸出到屏幕將log日志寫(xiě)入文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python中l(wèi)ogging庫(kù)的使用總結(jié)

    python中l(wèi)ogging庫(kù)的使用總結(jié)

    Python的logging模塊提供了通用的日志系統(tǒng),可以方便第三方模塊或者是應(yīng)用使用,下面這篇文章主要給大家介紹了關(guān)于python中l(wèi)ogging庫(kù)使用的一些知識(shí)總結(jié),文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-10-10
  • python網(wǎng)絡(luò)爬蟲(chóng) CrawlSpider使用詳解

    python網(wǎng)絡(luò)爬蟲(chóng) CrawlSpider使用詳解

    這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲(chóng) CrawlSpider使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python使用requests庫(kù)發(fā)送請(qǐng)求的示例代碼

    Python使用requests庫(kù)發(fā)送請(qǐng)求的示例代碼

    與原生的urllib庫(kù)相比,requests庫(kù)提供了更簡(jiǎn)潔、易于理解和使用的API,使發(fā)送HTTP請(qǐng)求變得更加直觀和高效,所以本文給大家介紹了Python如何使用requests庫(kù)發(fā)送請(qǐng)求,需要的朋友可以參考下
    2024-03-03
  • Python中的chr()函數(shù)與ord()函數(shù)解析

    Python中的chr()函數(shù)與ord()函數(shù)解析

    這篇文章主要介紹了Python中的chr()函數(shù)與ord()函數(shù)解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python數(shù)據(jù)類型--字典dictionary

    Python數(shù)據(jù)類型--字典dictionary

    這篇文章主要介紹了Python數(shù)據(jù)類型字典dictionary,字典是另一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象。下面詳細(xì)內(nèi)容需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-02-02
  • Python?內(nèi)置函數(shù)sorted()的用法

    Python?內(nèi)置函數(shù)sorted()的用法

    這篇文章主要介紹了Python?內(nèi)置函數(shù)sorted()的用法,文章內(nèi)容介紹詳細(xì)具有一的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • Python多版本安裝與Jupyter Lab使用方式

    Python多版本安裝與Jupyter Lab使用方式

    這篇文章主要介紹了Python多版本安裝與Jupyter Lab使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論

定兴县| 福海县| 谷城县| 揭东县| 兴山县| 临桂县| 满城县| 清水县| 和田县| 张家口市| 沂南县| 利川市| 大冶市| 五指山市| 旬阳县| 洪雅县| 四子王旗| 曲松县| 平邑县| 独山县| 彰武县| 阳泉市| 琼海市| 泸水县| 汕尾市| 济宁市| 农安县| 吉安市| 雅江县| 米泉市| 于都县| 龙游县| 申扎县| 图片| 丹东市| 镇安县| 皋兰县| 台北市| 元谋县| 大安市| 沐川县|