溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

發(fā)布時(shí)間:2021-10-11 17:14:55 來源:億速云 閱讀:141 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

最近在朋友圈看到個(gè)好玩的抽獎(jiǎng)九宮格:

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

隨便點(diǎn)開一個(gè):

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

哈哈,笑出豬叫!這個(gè)玩法利用了朋友圈發(fā)長圖會顯示中間局部的設(shè)定,搞笑之余也為朋友圈廣告營銷貢獻(xiàn)了新思路。

制作圖的過程也不復(fù)雜,長圖對應(yīng)部分設(shè)計(jì)好,最后整合到一起就 OK 了,就是一張張地重復(fù)操作略顯麻煩。想到這,不禁嘴角一翹、微微一笑,用 Python 的 PIL 模塊來批量生成九宮格圖片,不就好了?

設(shè)計(jì)思路

以朋友圈中看到的1號圖做參考,我們需要準(zhǔn)備 300*900 的白色底圖,搞笑表情圖,廣告語,中間一個(gè)醒目的數(shù)字編號,外加下方的嘲諷“哈哈哈”。

Python 圖像處理實(shí)現(xiàn)此思路,就是在對應(yīng)尺寸的底圖上,找到元素對應(yīng)的位置坐標(biāo),通過 PIL 模塊貼上預(yù)備好的表情圖,并在圖片中添加對應(yīng)的廣告語文本。圖中心的數(shù)字編號我選擇通過添加文本來實(shí)現(xiàn),至于最下方的“哈哈哈”我是自制了一個(gè)七彩“哈哈哈”圖片直接貼圖

準(zhǔn)備素材

首先在網(wǎng)上準(zhǔn)備9個(gè)不同的表情包圖片:

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

以及七彩“哈哈哈”嘲諷圖:

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

九句不同的廣告語參考文章開頭朋友圈圖片,我們通過 Python 字典將表情圖和廣告語對應(yīng)到不同的九宮格圖片:

content={    "back_img":"paper.jpg",    "001":{        "ad":'老板,買10盒月餅唄',        "head":'001.jpg'    },    "002": {        "ad": '老板,買20盒月餅唄',        "head": '002.jpg'    },    "003": {        "ad": '老板,生活不易,買50盒月餅唄',        "head": '003.jpg'    },    "004": {        "ad": '老板,買個(gè)80盒月餅,不多',        "head": '004.jpg'    },    "005": {        "ad": '老板,看面相,你應(yīng)該買100盒月餅',        "head": '005.jpg'    },    "006": {        "ad": '老板,恭喜你中獎(jiǎng)了,獎(jiǎng)品是150盒月餅',        "head": '006.jpg'    },    "007": {        "ad": '老板,你的員工讓我告訴你,他們想吃月餅了',        "head": '007.jpg'    },    "008": {        "ad": '老板,我賣月餅,買200盒唄',        "head": '008.jpg'    },    "009": {        "ad": '老板,不整500盒月餅送禮啊',        "head": '009.jpg'    }}

PIL 圖片處理

PIL: Python Imaging Library, 是功能強(qiáng)大 Python 圖像處理庫。Python 3 中通過 pip install Pillow 安裝,代碼文件開頭通過 import PIL 來導(dǎo)入。此處我們要用到 PIL 中貼圖和向圖片中寫入文字。

貼圖通過 Image 模塊來實(shí)現(xiàn),通過 Image.open() 打開圖片,需要的話可以進(jìn)行 resize() 縮放等處理,最終通過 paste() 在給定的坐標(biāo)處貼圖

from PIL import Image# im 是背景圖im = Image.open(background)# head_img 是要貼的表情圖,先縮放統(tǒng)一尺寸head_img = Image.open(f"head/{head}").resize((150,150),Image.ANTIALIAS)# 在背景圖的 75,200 坐標(biāo)處貼s上表情圖im.paste(head_img,(75,20))

向圖片中寫入文字時(shí)通過 ImageDraw 模塊來實(shí)現(xiàn),如果要對文字尺寸和字體做調(diào)整,需要導(dǎo)入 ttf 字體文件,要注意的是有些字體不支持中文。最終通過 PIL.ImageDraw.ImageDraw.text() 將文本寫入圖中指定位置。

from PIL import Image, ImageFont, ImageDrawim = Image.open(background)
draw = ImageDraw.Draw(im)mark_font = ImageFont.truetype("pre/arial.ttf",100)draw.text((125,400),mark,font=mark_font,fill=(0,0,0))

細(xì)節(jié)處理

制作九宮格圖片過程中,由于內(nèi)容簡單,對應(yīng)好元素位置直接操作就好。唯一不可控的是廣告語長度和內(nèi)容,這里我們處理得較簡單,識別廣告語中的中文“,”來斷句,每個(gè)被斷開的短句占一行居中顯示在圖片中。

既然我們是要用代碼來批量生產(chǎn)圖片,每個(gè)圖片目前可變的是表情圖和廣告語,代碼中我們就把完整生成一張圖的過程封裝成函數(shù),這樣每次給定相應(yīng)參數(shù)調(diào)用該函數(shù),即可批量生成我們需要的九宮格抽獎(jiǎng)長圖了。

    # 提前定義好生成長圖的函數(shù) get_pic(background,head,adcontent,mark,pic_name)     for i in range(1,10):        background = "pre/paper.jpg"        head = content[f'00{i}']['head']        adcontent = content[f'00{i}']['ad']        get_pic(background,head,adcontent,f"{i}",f"{i}.jpg")    print("九宮格圖片生成完畢!")

代碼下載

GitHub 代碼及素材下載鏈接:https://github.com/pengfexue2/friends_ad.git
百度網(wǎng)盤代碼及素材下載:https://pan.baidu.com/s/10qqahokqPoc1KFJ7PyARxg  密碼:h202

最終效果

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

點(diǎn)開之后是如下長圖:

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格

如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格


看完上述內(nèi)容,你們對如何用Python做個(gè)微信朋友圈抽獎(jiǎng)九宮格有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI