大家好,我是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)
效果:
END
以上就是本期為大家整理的全部內容
了,趕快練習起來吧,喜歡的朋友可以
點贊、轉發
,也可以在評論區留言相互交流。
文章首發公眾號 “
Python當打之年
” ,每天都有python程式設計技巧推送,希望大家可以喜歡。
往期推薦
Pandas+Pyecharts | 全國熱門旅遊景點資料分析+視覺化
視覺化 | Python精美地圖動態展示近20年全國各省市GDP
Pandas + Pyecharts | ADX遊戲廣告投放渠道綜合分析
小工具 | Python定製舉牌小人