我的公众号头图属于特地简洁的,起因是我在乎的是文章中的内容,而不是头图。 尽管我晓得一个好的头图会晋升点击率 ,但其背地消耗的工夫是我目前不愿去做的。因而,我目前的头图都是 PS 关上一张图,而后间接放上一行文字来生成的。
然而,关上 PS 还是太破费精力了,因而,我心愿能够用更少的工夫来生成简单明了的头图。因而,我决定优化我的头图制作计划,应用代码来实现公众号头图的生成。
环境依赖
这一次的代码应用 Python 来实现,并基于 Python 的 Pillow 库实现图片的生成,因而,你在运行我的代码时,须要先装置 Pillow
pip install pillow
实现思路
在应用 Pillow 绘图的时候,和咱们在前端应用 Canvas 绘图的思路基本一致,咱们要做的是
- 筹备特定背景的画布
- 加载字体
- 绘制文字
- 导出图片
生成的难度并不高,也只须要破费一些工夫来编写代码。具体的代码我贴在下方了,供你参考。
代码实现
具体的代码如下
from PIL import Image, ImageDraw, ImageFont
# 罕用变量
img_size = (900, 383)
bg_color= "#fca652"
big_text_size = (900,383)
text = "代码生成图片"
text_color = "#eeeeee"
filename = "export.jpg"
font_size = 80
# 生成画布
export_image = Image.new("RGB", img_size, bg_color)
# 加载字体
font = ImageFont.truetype("NotoSansSC-Medium.otf", font_size)
# 计算字体宽度
text_width = font.getsize(text)
text_coordinate = int((big_text_size[0]-text_width[0])/2), int((big_text_size[1]-text_width[1])/2-20)
# 生成绘图 ctx
img_draw = ImageDraw.Draw(export_image)
# 绘制文字
img_draw.text(text_coordinate, text, font=font, fill=text_color)
export_image.save(filename, quality=95)
总结
应用 Python 来绘制头图的难度并不大,比方明天的头图,就是通过代码来绘制的,你能够看看成果。
不过,下面的代码还是很简陋,你感觉这段代码有没有什么值得优化的点呢?