python编写微信公众号首图思路详解

yipeiwu_com7年前Python基础

前言

之前一直在美图秀秀调整自己的微信公众号首图,效果也不尽如人意,老是调来调去,最后发出来的图片被裁剪了一大部分,丢失部分关键信息,十分恼火,于是想着用python写一个程序,把微信公众号首图的模式固定下来,方便以后写公众号。

思路

根据微信公众号首图要求,可以上传一个不超过5M的图片,且图片尺寸要是2.35:1的尺寸,换算成像素是900:383,有了这些参数就可以做文章了,这里有两种思路

把今天推文的标题(文字)用图片展示出来,使得文字排列错落有致,简单粗暴,而又不失美感,这里可以利用matplotlib模块,新建一个画布,然后在画布合适的位置把标题排列出来,最后保存到本地,这种办法适合于没有合适的图,但又想用首图把今天的内容标识出来。
利用PIL模块,新建一个空白模板,然后向模板黏贴合适尺寸的图片,这种办法适合已经有图了,只是图的尺寸不符合微信公众号首图的要求,用程序来调整尺寸。

思路1的代码

# -*- coding: utf-8 -*-
"""
Created on Sat Nov 2 16:33:16 2019
project name: 微信公众号首图
@author: 帅帅de三叔
"""
import matplotlib.pyplot as plt #导入绘图模块
plt.rcParams['font.sans-serif']=['SimHei'] #中文显示
plt.rcParams['axes.unicode_minus']=True #显示负号
import mpl_toolkits.axisartist as axisartist #导入坐标轴加工模块
fig=plt.figure(figsize=(2.35,1)) #建立画布
ax=axisartist.Subplot(fig,111) #使用axisartist.Subplot方法创建一个绘图区对象ax
fig.add_axes(ax) #将绘图区对象添加到画布中
ax.axis[:].set_visible(False) #隐藏原来的实线矩形
plt.text(0.35,0.8,"负数", fontsize=17,style='italic',color='mediumvioletred') #设置字体大小颜色和款式
plt.text(0.45,0.48,"的", fontsize=12,style='italic',color='mediumvioletred')
plt.text(0.25,0.1,"运算法则", fontsize=17,style='italic',color='mediumvioletred')
plt.show() #显示预览
plt.savefig("公众号首图.png",dpi=800) #保存图片

思路1的代码解读

首先建立一个2.35:1空白画布,然后用坐标轴加工工具axisartist把画布四周的框去掉,然后将推文标题拆分,比如我今天要推送的文章是《负数的运算法则》,那么我会拆成“负数”,“的”和“运算法则”三部分,然后设计好他们展示的位置,用plt.text()函数打上去便是,并且调整里面的字体大小,款式和颜色等参数使得效果看起来不那么单调, 最重要的是位置可以通过plt.text(x,y,)中的x,y来调节,最后plt.savefig()保存到本地即可。

效果预览

总结

以上所述是小编给大家介绍的python编写微信公众号首图思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python初学者,用python实现基本的学生管理系统(python3)代码实例

这个是用python实现的基本的增删改查的学生管理系统吧,其中主要是对输入的数据进行合法性检测的问题,这次又对函数进行了练习!掌握函数更加熟练了!二话不说先贴代码,一切问题请看注释,都很...

Python学习笔记之if语句的使用示例

前言 条件语句在实际开发中我们已经使用过几次了,在这里我们需要再次隆重的来介绍一下它,下面话不多说了,来一起看看详细的介绍吧。 if语句 顾名思义,该语句为判断语句,先来一个简单的示例...

python实现用类读取文件数据并计算矩形面积

python实现用类读取文件数据并计算矩形面积

1.创建一个类Rectangle,已知a、b求面积,求三角形的面积 2.结合题目一,从题目一文件中读取数据,并采用类的方法,将计算的结果写在另一个文档中。 (1)利用类进行计算一个矩形的...

python中PS 图像调整算法原理之亮度调整

亮度调整 非线性亮度调整: 对于R,G,B三个通道,每个通道增加相同的增量。 线性亮度调整: 利用HSL颜色空间,通过只对其L(亮度)部分调整,可达到图像亮度的线性调整。但是,RGB和H...

一个基于flask的web应用诞生 组织结构调整(7)

一个基于flask的web应用诞生 组织结构调整(7)

现在所有的Py代码均写在default.py文件中,很明显这种方法下,一旦程序变的负责,那么无论对于开发和维护来说,都会带来很多问题。 Flask框架并不强制要求项目使用特定的组织结构,...