九宮圖 是 微信朋友圈的一種創意表現,先來看看效果:
同樣一張廣告圖,看起來是不是明顯不一樣,更能吸引眼球的注意力。
是不是明顯的視覺沖擊?
移動端的螢幕比PC小得多,每一寸展示空間都顯得更加稀缺和珍貴。
人們刷朋友圈都是用碎片化的時間,如果不能第一時間迅速抓住眼球的話,将錯過閱讀的機會。
九宮圖比單圖占據更多的空間,用醒目的主題文字迅速吸引你的潛在客戶停下來,這樣才有機會閱讀你的文案,達到營銷效果。
那麼,問題來了,為什麼朋友圈的九宮圖并不多見?
有人認為需要使用PS軟體來加工圖檔,很麻煩;網上還有各種軟體以及線上生成工具,不過有的需要注冊登入,有的需要下載下傳工具,顯得比較麻煩。
既然我們學習機器人自動化,為何不用Python自己寫一個小程式呢?
下面,我們就手把手教大家來寫一個短短幾十行代碼,實作這個目标:
打開PyCharm工具,建立一個檔案夾:
右鍵點選:
建立一個Python檔案,輸入檔案名:九宮格切圖器:
在代碼視窗輸入以下代碼:
import tkinter as tk
from tkinter import messagebox
from PIL import Image, ImageTk
import tkinter.filedialog
導入我們需要的庫檔案,這裡說明一下,如果出現下圖的提示:
出現紅色波浪線的地方,将滑鼠懸停在上面,右邊會出現提示視窗。說明系統沒有這個庫,需要安裝軟體包。
點選紅色框文字安裝軟體包,稍等片刻:
安裝成功後,紅色的波浪線就會消失,說明導入庫成功了。
如果安裝失敗,可能是因為網絡原因造成的。可以打開指令提示符來安裝:
示例:以安裝pinyin這個子產品為例,在指令行輸入pip install pinyin回車即可:(紅色的部分就是你要安裝的庫名稱)
當PIL庫安裝成功以後,代碼視窗的紅色波浪線會消失:
這時,我們再輸入以下代碼(用電腦用戶端打開複制代碼):
a=''
def fill_image(image):
width, height = image.size
newImage_width = width if width > height else height
newImage = Image.new(image.mode, (newImage_width, newImage_width), color='white')
if width > height:
newImage.paste(image, (0, int((newImage_width - height) / 2)))
else:
newImage.paste(image, (int((newImage_width - width) / 2), 0))
return newImage
def cut_image(image):
width, height = image.size
colWidth = int(width / 3)
image_grid = []
for i in range(0, 3):
for j in range(0, 3):
row = (j * colWidth, i * colWidth, (j + 1) * colWidth, (i + 1) * colWidth)
image_grid.append(row)
image_list = [image.crop(row) for row in image_grid]
return image_list
def save_images(image_list):
index = 1
for image in image_list:
image.save(str(index) + '.png', 'PNG')
index += 1
def select_button():
global a
a = tk.filedialog.askopenfilename()
img = Image.open(a)
out = img.resize((320, 250)) # 設定圖檔的大小
render = ImageTk.PhotoImage(out) # 圖檔控件
img = tkinter.Label(image=render, relief='solid')
img.image = render
img.place(x=38, y=80)
txt.set(a)
if a=='':
messagebox.showinfo(title='沒有選擇!', message=f'{a}沒有選擇圖檔,請重新選擇')
pass
else:
file_path = a
image = Image.open(file_path)
image_new = fill_image(image)
image_list = cut_image(image_new)
save_images(image_list)
label1.config(text='切圖成功!請在程式所在目錄檢視!')
messagebox.showinfo(title='切圖成功!', message=f'切圖成功,請在程式所在目錄檢視!')
main = tk.Tk()
main.geometry('400x400')
main.title('微信朋友圈圖檔切割器')
label1 = tk.Label(main, text='顯示要切分圖檔的檔案路徑:', fg='black')
label1.place(x=3, y=3, width=350, height=35)
l1.pack()
txt = tkinter.StringVar()
txt_entry = tkinter.Entry(main, width=50, borderwidth=1, textvariable=txt)
txt_entry.place(x=20, y=45)
button1 = tk.Button(main, width=10, height=1, text='選擇圖檔', fg='black', bg='white', command=select_button)
button1.place(x=80, y=360)
button2 = tk.Button(main, width=10, height=1, text='切割圖檔', fg='black', bg='white', command=cut_button)
button2.place(x=240, y=360)
main.mainloop()
短短60多行代碼,下面我們運作一下程式:
右鍵點選,運作Python檔案,彈出對話框:
選擇你想要切割的圖檔:
點選切割圖檔:
點選确定關閉視窗,檢視左側目錄清單:
這時,可以右鍵點選檔案夾圖示:
打開目錄檢視:
這樣,就得到我們想要的9張圖檔啦,通過檔案傳輸助手發送到你的手機,再編一段精彩的文案,準備發朋友圈吧!
很快,你的潛在客戶在刷朋友圈的時候就非常容易看到你的廣告啦~!
這個圖檔切割機器人,一定是你的生意财源滾滾的第一步!
代碼看不懂嗎?
沒有關系,從下期開始,我們會通過很多簡單的代碼,讓你逐漸了解和玩轉辦公機器人自動化技術,記得關注我們!
如果你需要一個群發微信消息的機器人,記得點選文末的往期回顧第一條:)
想一想:Python還有很多強大的功能,
明天是不是更美好?