Python實(shí)現(xiàn)九宮格式的朋友圈功能內(nèi)附“馬云”朋友圈
PIL(Python Imaging Library)是一個(gè)非常強(qiáng)大的Python庫,但是它支持Python2.X, 在Python3中則使用的是Pillow庫,它是從PIL中fork出來的一個(gè)分支。提供了非常強(qiáng)大的圖片處理能力,包括存儲(chǔ)、格式轉(zhuǎn)換、圖像處理等操作
有時(shí)候看到朋友圈的九宮格動(dòng)態(tài),是不是感覺非常有逼格呢? 今天就用Python來實(shí)現(xiàn)九宮格切圖。
先來看幾張效果圖


大致思路分為以下幾步
1.讀取初始照片
2.比較照片的寬高,數(shù)值較大的作為邊長(zhǎng)生成一個(gè)新的空白圖片
3.將初始圖片粘貼至第二部創(chuàng)建的空白圖片上
4.將圖片進(jìn)行切割
5.保存
直接上代碼
from PIL import Image
image = Image.open('圖片路徑.jpg')
width, height = image.size
# 高和寬進(jìn)行比較,較大的為新圖片的長(zhǎng)度
new_length = height if height > width else width
# 創(chuàng)建一張正方形空?qǐng)D片,底色為白色,
new_image = Image.new(image.mode, (new_length, new_length), color='white')
# 將要處理的圖片粘貼到新創(chuàng)建的圖片上,居中
if height > width: # 如果高度大于寬,則填充圖片的寬度
new_image.paste(image, (int((new_length - width) / 2)), 0)
else:
new_image.paste(image, (0, int((new_length - height) / 2)))
# 朋友圈一排三張圖片因此寬度切割成3份
new_length = int(new_length / 3)
# 用來保存每一個(gè)切圖
box_list = []
for i in range(0, 3):
for j in range(0, 3):
# 確定每個(gè)圖片的位置
box = (j * new_length, i * new_length, (j + 1) * new_length, (i + 1) * new_length) # (left, top, right, bottom)
box_list.append(box)
# 通過crop函數(shù)對(duì)圖片進(jìn)行切割
image_list = [new_image.crop(box) for box in box_list]
for (index, image) in enumerate(image_list):
image.save(str(index) + '.png', 'PNG')
print("九宮格圖片生成完畢!")
為了方便使用,通過pyinstaller對(duì)腳本進(jìn)行打包成exe文件。
pip3 install pyinstaller
執(zhí)行
pyinstaller -F cut_picture.py
就會(huì)在當(dāng)前目錄生成一個(gè)dist文件夾,里面就有我們最終需要的exe文件。如何使用呢?只需要在將要切割的圖片重命名為“a.jpg”,放入同級(jí)目錄中,雙擊啟動(dòng)即可
效果圖如下

總結(jié)
以上所示是小編給大家介紹的Python實(shí)現(xiàn)九宮格式的朋友圈功能內(nèi)附“馬云”朋友圈,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Python?生成多行重復(fù)數(shù)據(jù)的方法實(shí)現(xiàn)
本文主要介紹了Python?生成多行重復(fù)數(shù)據(jù)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python圖像處理庫PIL的ImageEnhance模塊使用介紹
這篇文章主要介紹了Python圖像處理庫PIL的ImageEnhance模塊使用介紹,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
教你一步步利用python實(shí)現(xiàn)貪吃蛇游戲
這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)貪吃蛇游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Pycharm pyuic5實(shí)現(xiàn)將ui文件轉(zhuǎn)為py文件,讓UI界面成功顯示
這篇文章主要介紹了Pycharm pyuic5實(shí)現(xiàn)將ui文件轉(zhuǎn)為py文件,讓UI界面成功顯示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
python3?http.client?網(wǎng)絡(luò)請(qǐng)求方式
這篇文章主要介紹了python3?http.client?網(wǎng)絡(luò)請(qǐng)求方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09

