zoukankan      html  css  js  c++  java
  • 如何通过一行代码制作个人专属动态微信二维码?

    各位同学好,今天又是一个晴空万里的周末,面对外面这么好的天气,不好好在家学习怎么对得起外面的这个天气。

    在逛 Github 的时候,发现了一个好玩的二维码制作的库:https://github.com/sylnsfar/qrcode 。这个库的 star 已经超过 7k 了,而且附带了中文文档,各位感兴趣的同学可以访问前面那个链接为作者点亮一个 star 。

    这个库的介绍是这么写的:

    Python 艺术二维码生成器 (GIF动态二维码、图片二维码)

    先放一个自己的作品,然后我们再来细细拆解这东西怎么做。

    上面是小编使用的两个 gif 动图生成的两个二维码,看起来还是满炫酷的,那么,这玩意到底是怎么做出来的。

    第一步,当然是需要先安装对应的类库:

    pip install myqr
    

    有一点需要说明下, myqr 目前只支持运行在 python3 的环境下,所以,还在使用 python2 的同学们,你们已经被时代抛弃了。

    第二步就是素材准备了,动图的资源已经提交到代码仓库了,小编这里就不贴出来了,当然,想要使用自己喜欢的动图也是可以的,小编这两个动图是来自于自己的肥宅小伙伴(请这位同学自己在评论区报道)。

    接下来就是二维码部分了,首先我们要清楚二维码本质上记录了什么。

    二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。

    上面这段内容是摘自百度百科,如果没看懂,没关系,小编用大白话解释一下:就是使用对应的算法,讲信息存储在了图形中,本质上我们日常见到的二维码解码后都是一串字符串。

    既然二维码是字符串,那就好说了,就拿小编的公众号二维码来讲,我们如何知道这个二维码上的字符串到底是什么呢?

    做过运营的同学应该对一个网站非常熟悉,草料二维码:https://cli.im/

    在这个网站上,我们可以通过上传二维码进行解析,从而得到这个二维码中的信息。

    小编这里上传下公众号的二维码,看下结果:

    可以看到,解码后的结果是一个网址:http://weixin.qq.com/r/Lym2rp7Ev8PArdrN93w9 ,拿到这个网址信息后,我们的准备工作就完成了。

    接下来就是使用 myqr 生成我们的动态二维码了:

    from MyQR import myqr
    import os
    
    version, level, qr_name = myqr.run(
        words="http://weixin.qq.com/r/Lym2rp7Ev8PArdrN93w9",  # 可以是字符串,也可以是网址(前面要加http(s)://)
        version=1,  # 设置容错率为最高
        level='H',  # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
        picture="3.gif",  # 将二维码和图片合成
        colorized=True,  # 彩色二维码
        contrast=1.0,  # 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
        brightness=1.0,  # 用来调节图片的亮度,其余用法和取值同上
        save_name="4.gif",  # 保存文件的名字,格式可以是jpg,png,bmp,gif
        save_dir=os.getcwd()  # 控制位置
    )
    

    对于上面这一小段代码,小编就不多解释了,里面的注释已经写得很清楚了。

    是不是很简单,当然小编是使用了自己的公众号二维码,各位同学也可以使用自己的微信二维码,使用自己喜欢的动图,通过上面这一小段代码,制作一个自己专属的个人微信二维码。

    本篇文章中使用到的二维码、动图以及代码,都上传代码仓库,有需要的同学请自取。

    示例代码-Github

    示例代码-Gitee

  • 相关阅读:
    RecycleView实现多布局可展开列表
    ubuntu在anaconda2下安装anaconda3环境 && 在Pycharm中配置Python3
    向量的叉乘
    角动量与角动量守恒
    语言学 —— 中文的构词与规律
    动力系统 —— 液压与气压
    Keras GRU 文字识别
    造物的科学 —— 保温瓶、衣服防盗器
    循环神经网络RNN模型和长短时记忆系统LSTM
    ResNet网络结构
  • 原文地址:https://www.cnblogs.com/babycomeon/p/12453721.html
Copyright © 2011-2022 走看看