Python切割圖片成九宮格的示例代碼
這篇文字講述如何使用Python把一張完整的大圖切割成9份小圖片,制作朋友圈九宮格圖文分享。
原圖如下:
我們想要利用這張圖制作高逼格的九宮格朋友圈分享。
達(dá)到類(lèi)似于這樣的效果:
實(shí)現(xiàn)原理非常簡(jiǎn)單,那就是利用PIL庫(kù)對(duì)原圖不斷畫(huà)小區(qū)域然后切下來(lái)存儲(chǔ)成新的小圖片。
假設(shè)每一個(gè)格子的寬和高分別是w、h,那么第row行(從0開(kāi)始計(jì)數(shù)),第col列(從0開(kāi)始計(jì)數(shù))的格子左上角坐標(biāo)和右下角坐標(biāo)分別是(col * w, row * h),(col * w + w, r * h + h)。
code snippet:#! /usr/local/bin/python3# -*- coding: utf-8 -*-fromPILimportImagedefcut_image(image):width, height = image.sizeitem_width = width /3.0item_height = height /3.0box_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_listdefsave_images(image_list):dirName =’output’ifFalse== os.path.exists( dirName ):os.makedirs( dirName )index =1forimageinimage_list:image.save(‘./output/python’+str(index) +’.png’,’PNG’)index +=1if__name__ ==’__main__’:image = Image.open('use.png')image_list = cut_image(image)save_images(image_list)
為了能在朋友圈中預(yù)覽時(shí)看到所有圖片的完整樣子,建議保證自己的原始圖片是正方形的,然后再運(yùn)行這個(gè)腳本,在output中得到九張圖片。最后,嗯,就可以去秀了!
總結(jié)
到此這篇關(guān)于Python切割圖片成九宮格的文章就介紹到這了,更多相關(guān)Python切割圖片 九宮格 內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法2. docker compose idea CreateProcess error=2 系統(tǒng)找不到指定的文件的問(wèn)題3. 一文秒懂idea的git插件跟翻譯插件4. PHP設(shè)計(jì)模式之迭代器模式Iterator實(shí)例分析【對(duì)象行為型】5. 在Vue 中獲取下拉框的文本及選項(xiàng)值操作6. python爬蟲(chóng)利用代理池更換IP的方法步驟7. JS算法題解旋轉(zhuǎn)數(shù)組方法示例8. python中pandas.read_csv()函數(shù)的深入講解9. vue中使用echarts的示例10. JS中的常見(jiàn)數(shù)組遍歷案例詳解(forEach, map, filter, sort, reduce, every)
