九宫图 是 微信朋友圈的一种创意表现,先来看看效果:
同样一张广告图,看起来是不是明显不一样,更能吸引眼球的注意力。
是不是明显的视觉冲击?
移动端的屏幕比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还有很多强大的功能,
明天是不是更美好?