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正则表达式去掉数字中的逗号(python正则匹配逗号)
Dec 25 Python
python设置检查点简单实现代码
Jul 01 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
Nov 03 Python
Python遍历numpy数组的实例
Apr 04 Python
python opencv实现切变换 不裁减图片
Jul 26 Python
python读取文件名并改名字的实例
Jan 07 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
python - asyncio异步编程
Apr 06 Python
python中Matplotlib绘制直线的实例代码
Jul 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
PHP_MySQL教程-第一天
2007/03/18 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
PHP实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
Python中有趣在__call__函数
2015/06/21 Python
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
Django视图和URL配置详解
2018/01/31 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
护士岗位职责
2014/02/16 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
保外就医申请书范文
2015/08/06 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL
js 数组 fill() 填充方法
2021/11/02 Javascript
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL
一文搞懂Java中的注解和反射
2022/06/21 Java/Android