最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現圖片九宮格分割

 更新時間:2021年03月07日 08:35:38   作者:mico_cmm  
一張圖片分成的九宮圖,大家知道是怎么做到嗎?這篇文章就為大家詳細介紹了python實現圖片九宮格分割功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

大家都知道在微信朋友圈或者微博以及QQ動態(tài)中,有很多“強迫癥患者”發(fā)圖片都愛發(fā)9張,而有些圖是一張圖片分成的九宮圖,對于這種操作,大家知道是怎么做到的嗎?

本文就是用Python做的一個九宮格圖片生成器,是一個打包好的exe文件,用戶無需部署安裝Python的開發(fā)環(huán)境,在本地就可以運行此程序,以此快速生成九宮格圖片。

下面是程序的所有代碼,這是一個Python GUI程序,代碼不多,也很容易理解:

# -*- coding: UTF-8 -*-
# 將一張圖片分成九張,九宮格
import tkinter as tk
from PIL import Image 
import sys 
 
 
#先將 input image 填充為正方形 
def fill_image(image): 
 width, height = image.size 
 #選取長和寬中較大值作為新圖片的 
 new_image_length = width if width > height else height 
 #生成新圖片[白底] 
 new_image = Image.new(image.mode, (new_image_length, new_image_length), color='white') #注意這個函數! 
 #將之前的圖粘貼在新圖上,居中 
 if width > height:#原圖寬大于高,則填充圖片的豎直維度 #(x,y)二元組表示粘貼上圖相對下圖的起始位置,是個坐標點。 
 new_image.paste(image, (0, int((new_image_length - height) / 2))) 
 else: 
 new_image.paste(image, (int((new_image_length - width) / 2),0)) 
 return new_image 
 
# 分割圖片 
def cut_image(image):
 width, height = image.size
 item_width = int(width / 3) #因為朋友圈一行放3張圖。
 box_list = []
 # (left, upper, right, lower)
 for i in range(0,3):
 for j in range(0,3):
 #print((i*item_width,j*item_width,(i+1)*item_width,(j+1)*item_width))
 box = (j*item_width,i*item_width,(j+1)*item_width,(i+1)*item_width)
 box_list.append(box)
 image_list = [image.crop(box) for box in box_list]
 return image_list
 
#保存圖片 
def save_images(image_list): 
 index = 1 
 for image in image_list: 
 image.save(str(index) + '.png', 'PNG') 
 index += 1 
 
 
# 點擊按鈕,實現圖片分割
def cTofClicked():
 file_path=str(entryCd.get()) # 獲取要進行分割的圖片路徑
 image = Image.open(file_path) 
 #image.show() 
 image = fill_image(image) 
 image_list = cut_image(image) 
 save_images(image_list) 
 labelcTof.config(text="九宮格圖片已生,請在程序所在目錄查看!")
 
# 窗體
top=tk.Tk()
top.title('九宮格圖片生成器')
labelcTof=tk.Label(top,text="請輸入要進行轉換的圖片路徑:",height=4,\
 width=40,fg="blue") 
labelcTof.pack()
entryCd=tk.Entry(top,text='0') # 文本框,獲取圖片路徑
entryCd.pack()
label_tip=tk.Label(top,text="請檢查圖片路徑是否輸入正確!",height=2,\
 width=40,fg="gray") 
label_tip.pack()
btnCal=tk.Button(top,text="點擊生成九宮格圖片",fg="red",bg="yellow",command=cTofClicked) # 點擊回調函數
btnCal.pack()
 
top.mainloop() # 執(zhí)行主循環(huán)

打包好的exe程序下載地址:python實現圖片九宮格分割

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python實現批量更換指定目錄下文件擴展名的方法

    Python實現批量更換指定目錄下文件擴展名的方法

    這篇文章主要介紹了Python實現批量更換指定目錄下文件擴展名的方法,結合完整實例分析了Python批量修改文件擴展名的技巧,并對比分析了shell命令及scandir的兼容性代碼,需要的朋友可以參考下
    2016-09-09
  • Python3 處理JSON的實例詳解

    Python3 處理JSON的實例詳解

    這篇文章主要介紹了Python3 處理JSON的實例詳解的相關資料,希望通過本文能幫助到大家,讓大家實現這樣的功能,需要的朋友可以參考下
    2017-10-10
  • Python制作一個多功能音樂播放器

    Python制作一個多功能音樂播放器

    本文主要介紹了Python制作一個多功能音樂播放器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Python即時網絡爬蟲項目啟動說明詳解

    Python即時網絡爬蟲項目啟動說明詳解

    這篇文章主要為大家詳細介紹了Python即時網絡爬蟲項目啟動說明,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python新手在作用域方面經常容易碰到的問題

    Python新手在作用域方面經常容易碰到的問題

    這篇文章主要介紹了Python新手在作用域方面經常容易碰到的問題,全局變量和局部變量方面的知識在Python學習當中是基礎中的基礎,需要的朋友可以參考下
    2015-04-04
  • Python實現大樂透號碼隨機生成

    Python實現大樂透號碼隨機生成

    全國有很多彩民,其中購買最多的彩種分別是體彩大樂透和福彩雙色球。本篇文章將介紹Python實現彩票自由的全流程:隨機選取號碼+查看是否中獎,需要的可以參考一下
    2022-05-05
  • 使用Python字符串訪問與修改局部變量的實現代碼

    使用Python字符串訪問與修改局部變量的實現代碼

    這篇文章主要介紹了使用Python字符串訪問與修改局部變量,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • 詳解Python中高階函數(map,filter,reduce,sorted)的使用

    詳解Python中高階函數(map,filter,reduce,sorted)的使用

    高階函數就是能夠把函數當成參數傳遞的函數就是高階函數,換句話說如果一個函數的參數是函數,那么這個函數就是一個高階函數。本文為大家詳細講解了Python中常用的四個高階函數,感興趣的可以了解一下
    2022-04-04
  • Python 中如何使用 setLevel() 設置日志級別

    Python 中如何使用 setLevel() 設置日志級別

    這篇文章主要介紹了在 Python 中使用setLevel() 設置日志級別,Python 提供了一個單獨的日志記錄模塊作為其標準庫的一部分,以簡化日志記錄,本文將討論日志記錄 setLevel 及其在 Python 中的工作方式,需要的朋友可以參考下
    2023-07-07
  • Celery批量異步調用任務一直等待結果問題

    Celery批量異步調用任務一直等待結果問題

    這篇文章主要介紹了Celery批量異步調用任務一直等待結果問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論

鄂托克前旗| 弥渡县| 瑞金市| 陈巴尔虎旗| 苗栗市| 临汾市| 泰宁县| 嘉祥县| 上蔡县| 深圳市| 沁阳市| 栖霞市| 铜山县| 涿州市| 乌兰浩特市| 富锦市| 平山县| 安义县| 黄山市| 安国市| 晴隆县| 弥勒县| 象州县| 嵊泗县| 嘉义市| 腾冲县| 招远市| 云梦县| 宝丰县| 玉树县| 漳平市| 白银市| 西峡县| 台安县| 高雄市| 濮阳县| 天水市| 泗洪县| 白朗县| 齐齐哈尔市| 鲁甸县|