Python切割圖片成九宮格【新手必學】

這篇文字講述如何使用Python把一張完整的大圖切割成9份小圖片,製做朋友圈九宮格圖文分享。

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教程項目可拿,,一塊兒相互監督共同進步!本文的文字及圖片來源於網絡加上本身的想法,僅供學習、交流使用,不具備任何商業用途,版權歸原做者全部,若有問題請及時聯繫咱們以做處理。

相關文章
相關標籤/搜索