前言

  之前一直在美图秀秀调整自己的微信公众号首图,效果也不尽如人意,老是调来调去,最后发出来的图片被裁剪了一大部分,丢失部分关键信息,十分恼火,于是想着用python写一个程序,把微信公众号首图的模式固定下来,方便以后写公众号。

  思路

  根据微信公众号首图要求,可以上传一个不超过5M的图片,且图片尺寸要是2.35:1的尺寸,换算成像素是900:383,有了这些参数就可以做文章了,这里有两种思路

  把今天推文的标题(文字)用图片展示出来,使得文字排列错落有致,简单粗暴,而又不失美感,这里可以利用matplotlib模块,新建一个画布,然后在画布合适的位置把标题排列出来,最后保存到本地,这种办法适合于没有合适的图,但又想用首图把今天的内容标识出来。(www.xcjlnk.com)

  利用PIL模块,新建一个空白模板,然后向模板黏贴合适尺寸的图片,这种办法适合已经有图了,只是图的尺寸不符合微信公众号首图的要求,用程序来调整尺寸。

  思路1的代码

# -*- coding: utf-8 -*-
"""
Created on Sat Nov 2 16:33:16 2019
project name: 微信公众号首图
@author: 帅帅de三叔
"""(www.jl0834.com)
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,,color='mediumvioletred') #设置字体大小颜色和款式
plt.text(0.45,0.48,"的", fontsize=12,,color='mediumvioletred')
plt.text(0.25,0.1,"运算法则", fontsize=17,,color='mediumvioletred')
plt.show() #显示预览(mip.0834jl.com)
plt.savefig("公众号首图.png",dpi=800) #保存图片

  思路1的代码解读

  首先建立一个2.35:1空白画布,然后用坐标轴加工工具axisartist把画布四周的框去掉,然后将推文标题拆分,比如我今天要推送的文章是《负数的运算法则》,那么我会拆成“负数”,“的”和“运算法则”三部分,然后设计好他们展示的位置,用plt.text()函数打上去便是,并且调整里面的字体大小,款式和颜色等参数使得效果看起来不那么单调, 最重要的是位置可以通过plt.text(x,y,)中的x,y来调节,最后plt.savefig()保存到本地即可。

  效果预览

  以上所述是小编给大家介绍的python编写微信公众号首图思路详解,希望对大家有所帮助。

python编写微信公众号首图思路详解的更多相关文章

  1. python爬微信公众号前10篇历史文章(1)-思路概览

    作为程序员,要时刻保持一颗好奇心和想要学习的姿态. 练习怎样利用搜狗微信爬取某指定微信公众号的历史文章.爬取微信公众号本身难度非常大,感谢搜狗提供了一个可以爬取数据的平台. 代码部分参考于: http ...

  2. [python]通过微信公众号“Python程序员”,编写python代码

    今天发现微信公众号中,居然可以编写python代码,很是惊喜,觉得蛮有趣的. 步骤如下: 1.关注微信公众号“Python程序员” 2.关注成功后,点击右下角的“潘多拉”->"Pyth ...

  3. 细数Python Flask微信公众号开发中遇到的那些坑

    最近两三个月的时间,断断续续边学边做完成了一个微信公众号页面的开发工作.这是一个快递系统,主要功能有用户管理.寄收件地址管理.用户下单,订单管理,订单查询及一些宣传页面等.本文主要细数下开发过程中遇到 ...

  4. python之微信公众号开发(基本配置和校验)

    前言 最近有微信公众号开发的业务,以前没有用python做过微信公众号开发,记录一下自己的学习和开发历程,共勉! 公众号类型 订阅号 普通订阅号 认证订阅号 服务号 普通服务号 认证服务号 服务方式 ...

  5. 利用python 实现微信公众号群发图片与文本消息功能

    在微信公众号开发中,使用api都要附加access_token内容.因此,首先需要获取access_token.如下: #获取微信access_token def get_token(): paylo ...

  6. appium+python自动化-微信公众号webview操作

    前言 上一篇已经解决切换到微信公众号的webview上了,但是定位webview上元素的时候一直提示找不到,打印page_source也找不到页面上的元素,这个问题困扰了一整天,还好最后找到了原因, ...

  7. 微信公众号java开发思路

    方法一:不开启开发模式,直接在自定义菜单中跳转到网页,适用于流量较小的公众号.   方法二:开启开发者模式,关闭自带的自定义菜单和消息回复,接入自己开发的应用           1.接入校验:创建s ...

  8. python爬微信公众号前10篇历史文章(6)-话说http cookies

    早期Web开发面临的最大问题之一是如何管理状态.简言之,服务器端没有办法知道两个请求是否来自于同一个浏览器.这是cookies的起源. 什么是cookie? A cookie is a small s ...

  9. python爬微信公众号前10篇历史文章(5)-JSON相关内容小结

    json - JSON encoder and decoder JSON: JavaScript object notation,是一种轻量级的数据交换格式.JSON 是 JS 对象的字符串表示法,它 ...

随机推荐

  1. 笔记64 Spring Boot快速入门(四)

    SpringBoot中错误处理.端口设置和上下文路径以及配置切换 一.错误处理 假设在访问首页的时候会出现一些错误,然后将这些错误当作异常抛出,反馈给用户. 1.修改IndexController.j ...

  2. SpringBoot项目部署初体验【Docker】

    前言 一个微服务项目,小到几个模块,大到十几二十几个模块,每个模块都是单独的SpringBoot工程,这么多模块的部署,部署成本真的很高,而且每个服务的部署,都是手动部署,打成war或者jar ?,一 ...

  3. 分布式项目web.xml配置文件的表头

    <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...

  4. CentOS下MYSQL数据库的安装

    关于在Centos系统下安装MYSQL数据库,网络上资料有很多,在此主要感谢该文章的博主:http://www.cnblogs.com/zhoulf/archive/2013/01/25/zhoulf ...

  5. 管理员技术(七): Linux管理员 综合测试

    一.Linux管理员 综合测试 目标: 根据本文提供的练习步骤完成所有练习案例. 方案: 开始练习之前,先依次重置虚拟机环境. [root@room9pc13 ~]# rht-vmctl  reset ...

  6. Linux下安装PHP的curl扩展

    先安装依赖包: yum install curl curl-devel 找到PHP的安装包,cd 进入安装包 cd php-5.6.25/ext/curl phpize 如果报找不到phpize就补全 ...

  7. gensim中TaggedDocument 怎么使用

    我有两个目录,我想从中读取它们的文本文件并给它们贴上标签,但我不知道如何通过taggedDocument来实现这一点.我以为它可以作为标记文档([strings],[labels])工作,但这显然不起 ...

  8. Linux环境进程间通信----系统 V 消息队列(二)

    一.消息队列是一条由消息连接而成的链表,它保存在内核中,通过消息队列的引用标示符来访问. 二.消息队列不同于管道,通信的两个进程可以是完全无关的进程,它们之间不需要约定同步的方法.只要消息队列存在并且 ...

  9. error LNK2019: 无法解析的外部符号 "__declspec(dllimport) long __stdcall RtlGetVersion(struct _OSVERSIONINFOW

    虽然ntdll.lib库也引用了,但还是提示找不到RtlGetVersion函数定义,工程中头文件的定义如下: NTSYSAPI NTSTATUS NTAPI RtlGetVersion(     _ ...

  10. CSS:CSS 轮廓(outline)

    ylbtech-CSS:CSS 轮廓(outline) 1.返回顶部 1. CSS 轮廓(outline) 轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用. ...