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


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

PS注意:很多人學Python過程中會遇到各種煩惱問題,沒有人幫答疑容易放棄。為此小編建了個Python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決里面還有最新Python教程項目可拿,,一起相互監督共同進步!

原圖如下:

 

Image

我們想要利用這張圖制作高逼格的九宮格朋友圈分享。

達到類似於這樣的效果:

 

實現原理非常簡單,那就是利用PIL庫對原圖不斷畫小區域然后切下來存儲成新的小圖片。

假設每一個格子的寬和高分別是w、h,那么第row行(從0開始計數),第col列(從0開始計數)的格子左上角坐標和右下角坐標分別是(col * w, row * h),(col * w + w, r * h + h)。

 

 

code snippet:

#! /usr/local/bin/python3

# -*- coding: utf-8 -*-

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM