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 获取et和excel的版本号
Apr 09 Python
python重试装饰器示例
Feb 11 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
使用Python对Access读写操作
Mar 30 Python
python队列通信:rabbitMQ的使用(实例讲解)
Dec 22 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
Django实现简单网页弹出警告代码
Nov 15 Python
python学习将数据写入文件并保存方法
Jun 07 Python
Django实现微信小程序支付的示例代码
Sep 03 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 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实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
php如何获取文件的扩展名
2015/10/28 PHP
PHP查询分页的实现代码
2017/06/09 PHP
php表单处理操作
2017/11/16 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
python动态加载变量示例分享
2014/02/17 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
PyTorch中的C++扩展实现
2020/04/02 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
党章学习思想汇报
2014/01/14 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
行政复议答复书
2015/07/01 职场文书
新学期开学标语2015
2015/07/16 职场文书
销售会议开幕词
2016/03/04 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL