作爲一個男同胞來說,爲了給女朋友拍一張美美的照片,着實需要花費很大的時間和精力,不僅僅需要從衆多的圖片中精心挑選,而且還需要有着超強的圖片精修能力,才能得到一張張達到女友要求的圖片,真心不容易啊~
朋友圈發出去一張照片顯得很單薄,有沒有啥好的辦法呢,小編今天就帶領大家來製作一個微信的九宮格圖片,發朋友圈一定能搏一把眼球!
對於九宮格的朋友圈大家應該不會陌生,如下圖所示,小編先用我最喜歡的一個動漫裏面的女神焰靈姬做demo,下圖就是焰靈姬做的一個微信九宮格的圖片:
也就是我們將一張完整的圖片分割成9個不同的部分,然後利用微信的九宮格排列,組成一張圖片,提升美感的同時,也讓圖片變得豐富起來。下面就跟隨小編來看看是如何利用程序實現的吧。
01.設計一個界面
小編爲了提升用戶的體驗,設計了一個用戶界面,界面如下圖所示:
上圖中,我們只需要按照提示輸入圖片的轉換地址和轉換後圖片保存的文件夾地址,然後只需要點擊“開始轉換”即可完成。
界面程序如下圖所示:
整個的界面,我們設置了幾個關鍵的控件:
例如Label,是用來在界面上展示文本信息的;
而Entry則是用來讓用戶輸入文本信息的控件;
Button就是按鍵空間,對應了界面上的“開始轉換”按鍵,其綁定了我們的轉換程序self.Run函數;
self.Run便是我們程序轉換的主函數,它完成了對於一張圖片的讀入,並將其分割成9張圖片,並保存9張圖片的功能;
02.敲黑板劃重點,如何分割圖片
上面只是完成了外表的殼子的功能,可以認爲是前端的功能,後端的圖像的處理功能纔是關鍵。這裏就是用到了強大的cv2這個庫。
上面的程序一共完成了這麼幾步:
首先將圖形以較長邊爲基準,填充爲正方形,這裏爲什麼填充爲正方形呢?因爲微信圖片顯示九宮格的時候,都是按照正方形進行顯示的。
如果不填充爲正方形,分割出來的會是長方形,會造成圖片存在部分丟失的現象。當我們把圖像填充爲正方形,這樣分割出來的圖片依舊是正方形,不會出現圖片部分丟失的問題。
接着填充完之後,按照新圖片的邊長來分割圖片,分割圖片的邊長就是新圖片的三分之一
最後我們將分割出來的圖片保存到指定的文件夾內即可。
03.效果展示
下圖就是小編分割出來後,進行微信朋友圈展示的效果圖:
看完效果圖,大家是不是感覺瞬間檔次就提升了呢。最後,小編以視頻的形式爲大家展示一下如何使用該程序:
視頻來了,一睹爲快
是不是有點酷啊,需要本篇源碼的小夥伴,可以直接在下方獲取!看百遍讀千遍,不如動手做一遍,然後把生成的圖在朋友圈秀一下。源碼還有很多地方可以改進,歡迎小夥伴添磚加瓦,動起來!
掃碼輸入:【九宮格圖】
獲取本篇源碼