技巧 | Python製作朋友圈炫酷九宮格圖片

大家好,我是Python當打之年。

本期給大家分享

如何使用python製作朋友圈九宮格圖片

,希望對你有所幫助。

技巧 | Python製作朋友圈炫酷九宮格圖片

1。 準備工作

1。1 Pillow 安裝

兩種安裝方法:

# 方法1pip install Pillow# 方法2pip install -i https://pypi。tuna。tsinghua。edu。cn/simple/ Pillow

1。2 匯入模組

from PIL import Image

2。 PIL函式

2。1 開啟影象檔案

Image。open(fp, mode=‘r’)

它是惰性操作。該函式讀取檔案頭,直到嘗試處理資料才呼叫load方法強制載入實際的影象資料,可以使用字串(表示檔名)或file物件作為檔案引數。

2。2 開啟影象檔案

Image。new(mode, size, color=0)

引數:

mode:圖片模式。

size:一個二元組,包含(寬度,高度)畫素。

color:影象顏色,預設黑色。

2。3 複雜影象

Image。copy()

將原始影象內容貼上到影象中,仍保留原始內容。

2。4 貼上影象

Image。paste(im, box=None, mask=None)

box 可以是二元陣列,給定 box 的左上角位置;或者,四元陣列( left, upper, right, lower) 畫素座標;或者,None,等價於 ((0, 0))。

2。5 儲存檔案

Image。save(fp, format=None, **params)

fp 為檔名。 可以指定儲存圖片的質量(jpeg壓縮率),不同的壓縮率儲存的檔案大小不同。

img。save(fp, “JPEG”, quality=95),quality 值越高,儲存的檔案越大

3。 繪製九宮格圖

3.1 建立底圖

# 建立新圖片def create_new_image(image): width, height = image。size if width > height: new_image = Image。new(image。mode, (width, width), color=‘white’) new_image。paste(image, (0, int((width - height) / 2))) else: new_image = Image。new(image。mode, (height, height), color=‘white’) new_image。paste(image, (int((height - width) / 2), 0)) return new_image

3.2 生成子圖

# 生成9個子圖def get_9_images(image): width, height = image。size new_image_width = int(width / 3) boxs = [] for i in range(0, 3): for j in range(0, 3): box = (j * new_image_width, i * new_image_width, (j + 1) * new_image_width, (i + 1) * new_image_width) boxs。append(box) images = [image。crop(box) for box in boxs] return images

3.3 儲存

# 儲存圖片def save_images(images, file_path): if not os。path。exists(file_path): os。mkdir(file_path) for index,image in enumerate(images): new_image = os。path。join(file_path, str(index) + ‘。jpg’) image。save(new_image)

效果:

技巧 | Python製作朋友圈炫酷九宮格圖片

END

以上就是本期為大家整理的全部內容

了,趕快練習起來吧,喜歡的朋友可以

點贊、轉發

,也可以在評論區留言相互交流。

文章首發公眾號 “

Python當打之年

” ,每天都有python程式設計技巧推送,希望大家可以喜歡。

往期推薦

Pandas+Pyecharts | 全國熱門旅遊景點資料分析+視覺化

視覺化 | Python精美地圖動態展示近20年全國各省市GDP

Pandas + Pyecharts | ADX遊戲廣告投放渠道綜合分析

小工具 | Python定製舉牌小人