Python切割圖片成九宮格的示例代碼
這篇文字講述如何使用Python把一張完整的大圖切割成9份小圖片,制作朋友圈九宮格圖文分享。
原圖如下:
我們想要利用這張圖制作高逼格的九宮格朋友圈分享。
達到類似于這樣的效果:
實現(xiàn)原理非常簡單,那就是利用PIL庫對原圖不斷畫小區(qū)域然后切下來存儲成新的小圖片。
假設(shè)每一個格子的寬和高分別是w、h,那么第row行(從0開始計數(shù)),第col列(從0開始計數(shù))的格子左上角坐標(biāo)和右下角坐標(biāo)分別是(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)
為了能在朋友圈中預(yù)覽時看到所有圖片的完整樣子,建議保證自己的原始圖片是正方形的,然后再運行這個腳本,在output中得到九張圖片。最后,嗯,就可以去秀了!
總結(jié)
到此這篇關(guān)于Python切割圖片成九宮格的文章就介紹到這了,更多相關(guān)Python切割圖片 九宮格 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python?opencv的imread方法無法讀取圖片問題
這篇文章主要介紹了python?opencv的imread方法無法讀取圖片問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Python Django實現(xiàn)個人博客系統(tǒng)的搭建
個人博客是一個非常好的平臺,可以讓人們分享自己的知識和經(jīng)驗,也可以讓人們交流和互動。在這篇文章中,我們將介紹如何使用Python Django框架來開發(fā)一個個人博客系統(tǒng),希望對大家有所幫助2023-04-04

