python画微信公众号首图

  • 前言
  • 代码
  • 效果预览
  • 代码解读
  • 展望

前言

从2017年8月23日以来,一直在微信公众号“三行科创”给小朋友们写关于数学知识,数学文化的东西,一篇文章写完后要给文章配一张好看的封面

封面就是这篇文章的门面,我大约经历过3个阶段,第一个阶段百度找图,利用关键词找出相关的图片,然后保存到本地,再通过微信公众号后台传上去,每次都会被裁剪掉一大部分信息,有时候找不到合适的图就干脆建立一个空白画布,写几个正楷字当封面,之后知道有在线的美图秀秀,于是学会了把下载好的图片,通过美图秀秀来进行缩放,图片缩放比例总是不够满意,要么边溢出,要么宽溢出,要么丢掉一部分信息,效果也不尽如人意,十分恼火,今天突发奇想,想着用python写一个程序,把微信公众号首图的模式固定下来,方便以后写公众号。主要有两个思路

  1. 把今天推文的标题(文字)用图片展示出来,使得文字排列错落有致,简单粗暴,而又不失美感,这种办法适合于不想满世界找图,但又想用首图把今天的内容标识出来。
  2. 利用PIL模块,新建一个空白模板,然后向模板黏贴合适尺寸的图片,这种办法适合已经有图了,只是图的尺寸不符合微信公众号首图的要求,用程序来调整尺寸。

今天主要讲一下第一种思路,这里主要利用python的绘图模块matplotlib,首先新建一个空白画布,然后在画布合适的位置(居中)把标题排列出来,最后保存到本地,经查阅微信公众号首图要求,可以上传一个不超过5M的图片,且图片尺寸要是2.35:1的尺寸,可以像素换算为900px*383px,有了这些参数就可以做文章了。

代码

# -*- 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) #保存图片

效果预览

代码解读

首先利用函数 plt.figure(figsize=(2.35,1)) 建立一个2.35:1的空白画布,这时候空白画布四周是由带尺度的黑线围成的,所以需要导入坐标轴加工工具axisartist类,调用 ax.axis[:].set_visible(False) 函数把画布四周的框去掉,这时候就真的变成一张2.35:1纯白画布了,接下来就是向画布添加你想要添加的元素,最简单的就是把今天的推文标题再写一遍,比如我今天要推送的文章是《负数的运算法则》,那么我会拆成“负数”,“的”和“运算法则”三部分变成三个独立的操作对象,用 plt.text(x,y,“content”,fontsize,style,color,*) 函数分别打上去便是,然后细心调整字体大小,款式,颜色和对齐方式等参数使得效果看起来不那么单调, 最重要的是位置和字体大小要协调,位置可以通过参数 x,y 来调节,而字体大小可以通过 fontsize来调节,最后用 plt.savefig() 函数把做好的首图保存到本地即可。

展望

这种方法不仅可以画微信公众号首图,而且可以用来画数学公式,这时候只需要将参数 content 改成LaTeX语法即可,是不是很酷呀。

参考文献

  1. https://matplotlib.org/api/_as_gen/matplotlib.pyplot.text.html#matplotlib.pyplot.text
  2. python绘制笛卡尔直角坐标系

python画微信公众号首图相关推荐

  1. 如何制作公众号首图?

    大家辛苦编辑好的公众号文章,选择一个搭配的封面图,尤其是首图是很重要的,大家第一眼看到的除了一个吸引人的标题那么就是首图图片了 这边教一下大家如何制作公众号首图 首先 点击在线作图-微信公众号首图 这 ...

  2. python使用微信设置-Python使用微信公众号实现自动回复

    原标题:Python使用微信公众号实现自动回复 作者:睿江云计算 Python作为一门热门的编程语言,已经被很多编程爱好者所使用,下面我们就看看它是怎么与公众号的对接,并且实现一些回复文字,图片内容. ...

  3. python训练营微信公众号真实性_用python进行微信公众号开发(仅测试学习)

    今天看到篇教程,是用python开发微信公众号的,觉得有意思,就敲代码实现了一下,成功后更觉得好玩,故记录,方便开发深入时使用. 基础背景介绍: 首先得有个人微信号(没有自行注册),为方便测试学习: ...

  4. python下载微信公众号文章_python如何导出微信公众号文章方法详解

    1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出 ...

  5. 基于python的微信公众号开发教程_基于python的微信公众号开发教程

    应广大python学员的期盼,九宝老师精心制作的"基于python的微信公众号开发"视频教程即将上线. 该课程秉承九宝培训一贯的"简单.高效.快速"的讲课原则, ...

  6. 基于Python实现微信公众号爬虫进行数据分析

    学爬虫有什么用 网络爬虫是一个非常注重实践性而且实用性很强的编程技能,它不是程序员的专属技能,任何具有一定编程基础的人都可以学习爬虫,写爬虫分析股票走势,上链家爬房源分析房价趋势,爬知乎.爬豆瓣.爬新 ...

  7. 基于python的公众号课堂教学_基于Python的微信公众号数据挖掘分析

    基于Python的微信公众号数据挖掘分析 华南农业大学电子工程学院 王 建 黄宁香 [期刊名称]电子世界 [年(卷),期]2019(000)011 [总页数]3 运用Python网络爬虫技术对某时事类 ...

  8. 在线生成制作Pornhub的微信公众号封面图

    在线生成制作Pornhub的微信公众号封面图 在线生成制作Pornhub的微信公众号封面图 本工具在线制作具有PornHub风格的Logo.支持自定义文字内容.排列结构.颜色以及文字大小.可以用于微信 ...

  9. python开发微信公众号开发教程百度云_Python开发微信公众号后台(系列一)

    Python 开发微信公众号后台(系列一) 專 欄段晓晨,写过一点爬虫,写过几篇文章.能力虽 有限,会尽量把想说的东西讲清楚. 知乎 ID :段小草 知乎专栏:小段同学的杂记, https://zhu ...

  10. 视频教程-基于python的微信公众号开发教程-微信开发

    基于python的微信公众号开发教程 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信 ...

最新文章

  1. 「二分查找」之我见!今天刷一道leetcode算法!
  2. mybatis中getMapper是怎么通过动态代理得到dao接口的实现类并执行mapper文件sql语句的
  3. gmail头像_Gmail与Google+进一步整合:可显示好友头像
  4. JS 小数的常用处理方法
  5. Java语言中的注释有哪些
  6. java 头尾 队列_Java数据结构之队列(动力节点Java学院整理)
  7. 特老的文章:三层应该怎么划分。不知大家还有用否
  8. HttpClient简单请求和返回样例
  9. android studio connot resolve
  10. 分布式常见面试题整理
  11. Linux——shell编程基础笔记
  12. 数学速算法_孩子数学计算老出错?复习阶段,家长赶紧和孩子一起找准原因!...
  13. “Win7内部版本7600此Windows副本不是正版”解决方法
  14. 阅读器android工程,一种简单的纯粹——全球首款 EINK屏 安卓手机 BOOX E43 工程机测试体验...
  15. SSM整合步骤(超详细)
  16. 不同语言编程能整合到一起吗_台达DVPPLC编程技巧大全(105讲)第三讲
  17. 计算机efs恢复工具,重装系统后如何恢复对EFS加密文件的访问
  18. 四川南溪仙源长江公路大桥通车 结束千年摆渡过江历史
  19. css图片精灵定位_CSS精灵图片(CSS sprite)使用心得
  20. TI杯 LaunchPad MSP430开发环境搭建

热门文章

  1. ArcGIS空间大数据平台与HadoopSpark大数据平台的集成与开发
  2. XUI -Android原生UI框架的配置
  3. 电机与拖动matlab仿...,电机与拖动基础及MATLAB仿真习题答案(第四章)
  4. [渝粤教育] 山东工商学院 电机与拖动基础 参考 资料
  5. 系统集成项目管理工程师(中级)考试心得经验
  6. 计算机网络考研408计算机134分笔记!超级详细!23最新考纲
  7. 批量修改密码脚本--------小练习
  8. C盘根目录出现msdia80.dll解决办法
  9. msdia*.dll unregistered
  10. 使用openssl实现AES CBC 128 pcks7加密