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


Posted in Python onDecember 13, 2019

前言

之前一直在美图秀秀调整自己的微信公众号首图,效果也不尽如人意,老是调来调去,最后发出来的图片被裁剪了一大部分,丢失部分关键信息,十分恼火,于是想着用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的设计模式编程入门指南
Apr 02 Python
python编辑用户登入界面的实现代码
Jul 16 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
django 使用全局搜索功能的实例详解
Jul 18 Python
Python 如何提高元组的可读性
Aug 26 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
python 函数中的参数类型
Feb 11 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
jupyter lab文件导出/下载方式
Apr 22 Python
python 字符串的驻留机制及优缺点
Jun 19 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Apr 04 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 #Python
python中设置超时跳过,超时退出的方式
Dec 13 #Python
python opencv实现gif图片分解的示例代码
Dec 13 #Python
python多进程并发demo实例解析
Dec 13 #Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 #Python
python plotly画柱状图代码实例
Dec 13 #Python
Pytorch实现的手写数字mnist识别功能完整示例
Dec 13 #Python
You might like
PHP5/ZendEngine2的改进
2006/10/09 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
Aptana调试javascript图解教程
2009/11/30 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
python实现上传下载文件功能
2020/11/19 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
python负载均衡的简单实现方法
2018/02/04 Python
Python输入二维数组方法
2018/04/13 Python
python机器学习库xgboost的使用
2020/01/20 Python
我的动漫时代的创业计划书范文
2014/01/27 职场文书
幼师自我鉴定
2014/02/01 职场文书
银行贷款承诺书
2014/03/29 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
2015年信访工作总结
2015/04/07 职场文书
一行Python命令实现批量加水印
2022/04/07 Python