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 相关文章推荐
linux系统使用python监测系统负载脚本分享
Jan 15 Python
python实现在pickling的时候压缩的方法
Sep 25 Python
python实现删除文件与目录的方法
Nov 10 Python
Python素数检测的方法
May 11 Python
python采用django框架实现支付宝即时到帐接口
May 17 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
详解django2中关于时间处理策略
Mar 06 Python
详解用python计算阶乘的几种方法
Aug 14 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
Python远程linux执行命令实现
Nov 11 Python
python实现计算图形面积
Feb 22 Python
python中的sys模块和os模块
Mar 20 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获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
PHP设计模式之原型设计模式原理与用法分析
2018/04/25 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
2019/06/19 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
python中Genarator函数用法分析
2015/04/08 Python
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Django实现跨域的2种方法
2019/07/31 Python
Jupyter加载文件的实现方法
2020/04/14 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
C语言基础笔试题
2013/04/27 面试题
幼儿园教师自我鉴定
2014/03/20 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
Django框架模板用法详解
2022/06/10 Python
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL