PS注意:不少人學Python過程當中會遇到各類煩惱問題,沒有人幫答疑容易放棄。爲此小編建了個Python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下能夠找到了,不懂的問題有老司機解決裏面還有最新Python教程項目可拿,,一塊兒相互監督共同進步!python
原圖以下:網絡
Imageapp
咱們想要利用這張圖製做高逼格的九宮格朋友圈分享。學習
達到相似於這樣的效果:3d
實現原理很是簡單,那就是利用PIL庫對原圖不斷畫小區域而後切下來存儲成新的小圖片。code
假設每個格子的寬和高分別是w、h,那麼第row行(從0開始計數),第col列(從0開始計數)的格子左上角座標和右下角座標分別是(col * w, row * h),(col * w + w, r * h + h)。orm
code snippet:教程
#! /usr/local/bin/python3圖片
# -*- coding: utf-8 -*-ip
fromPILimportImage
defcut_image(image):
width, height = image.size
item_width = width /3.0
item_height = height /3.0
box_list = []
forrowinrange(0,3):
forcolinrange(0,3):
box = (col * item_width, row * item_height,( col +1) * item_width,( row +1) * item_height)
box_list.append( box )
image_list = [image.crop(box)forboxinbox_list]
returnimage_list
defsave_images(image_list):
dirName ='output'
ifFalse== os.path.exists( dirName ):
os.makedirs( dirName )
index =1
forimageinimage_list:
image.save('./output/python'+str(index) +'.png','PNG')
index +=1
if__name__ =='__main__':
image = Image.open("use.png")
image_list = cut_image(image)
save_images(image_list)
爲了能在朋友圈中預覽時看到全部圖片的完整樣子,建議保證本身的原始圖片是正方形的,而後再運行這個腳本,在output中獲得九張圖片。最後,嗯,就能夠去秀了!
注意:不少人學Python過程當中會遇到各類煩惱問題,沒有人幫答疑容易放棄。爲此小編建了個Python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下能夠找到了,不懂的問題有老司機解決裏面還有最新Python教程項目可拿,,一塊兒相互監督共同進步!本文的文字及圖片來源於網絡加上本身的想法,僅供學習、交流使用,不具備任何商業用途,版權歸原做者全部,若有問題請及時聯繫咱們以做處理。