电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python實現圖片九宮格分割的示例

瀏覽:6日期:2022-06-21 10:55:48
簡介

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

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

實現原理

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

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

python實現圖片九宮格分割的示例

源碼

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

# -*- coding: UTF-8 -*-# 將一張圖片分成九張,九宮格import tkinter as tkfrom 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() # 執行主循環運行結果

界面圖像

python實現圖片九宮格分割的示例

在文本框中輸入圖片地址,點擊“點擊生成九宮格圖片”

python實現圖片九宮格分割的示例

以上就是python實現圖片九宮格分割的示例的詳細內容,更多關于python 圖片九宮格分割的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 精准猎取科技资讯,高效阅读科技新闻_科技猎 | 转向助力泵/水泵/发电机皮带轮生产厂家-锦州华一精工有限公司 | 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 苏州西装定制-西服定制厂家-职业装定制厂家-尺品服饰西装定做公司 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 防水套管-柔性防水套管-刚性防水套管-上海执品管件有限公司 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 南京泽朗生物科技有限公司-液体饮料代加工_果汁饮料代加工_固体饮料代加工 | 威客电竞(vk·game)·电子竞技赛事官网 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 蜂蜜瓶-玻璃瓶-玻璃瓶厂-玻璃瓶生产厂家-徐州贵邦玻璃制品有限公司 | WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 苏州柯瑞德货架-仓库自动化改造解决方案 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 湖南自考_湖南自学考试| 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 快速门厂家-快速卷帘门-工业快速门-硬质快速门-西朗门业 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 校车_校车价格_19座幼儿园校车_幼儿园校车_大鼻子校车 |