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中操作列表之List.pop()方法的使用
May 21 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
Dec 25 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
Jun 27 Python
Python中表示字符串的三种方法
Sep 06 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
python按时间排序目录下的文件实现方法
Oct 17 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
Python序列类型的打包和解包实例
Dec 21 Python
pandas的相关系数与协方差实例
Dec 27 Python
python有序查找算法 二分法实例解析
Feb 18 Python
利用python生成照片墙的示例代码
Apr 09 Python
Python urllib3软件包的使用说明
Nov 18 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版自动生成文章摘要
2008/07/23 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
JS动画效果代码3
2008/04/03 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
2020/02/11 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
浅谈Python的文件类型
2016/05/30 Python
用Python设计一个经典小游戏
2017/05/15 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
python实现视频分帧效果
2019/05/31 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
市三好学生主要事迹
2014/01/28 职场文书
环保建议书300字
2014/05/14 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
2014年行政工作总结
2014/11/19 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python