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 28 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
Python一行代码实现快速排序的方法
Apr 30 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
django 邮件发送模块smtp使用详解
Jul 22 Python
python3 enum模块的应用实例详解
Aug 12 Python
Python Django2.0集成Celery4.1教程
Nov 19 Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 Python
Python+OpenCV检测灯光亮点的实现方法
Nov 02 Python
解决pytorch 模型复制的一些问题
Mar 03 Python
Python预测分词的实现
Jun 18 Python
浅析Python中的套接字编程
Jun 22 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错误、异常处理机制(补充)
2012/05/07 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
详解PHP中的PDO类
2015/07/06 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
python中有关时间日期格式转换问题
2019/12/25 Python
python数据类型强制转换实例详解
2020/06/22 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
2014年个人工作总结报告
2014/11/27 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS