使用python生成二维码的HTML文本

原理是使用python的qrcode模块生成特定图片再进行处理生成HTML文本。代码基于python3.5,需要先安装好numpy和qrcode模块。

代码如下

代码块语法遵循标准markdown代码,例如:

import numpy as np
import qrcode

#可以放上你的各种链接
data = '一些有趣的东西'
#设置qrcode相关参数
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    # 这里将二维码最小像素设为1个像素便于处理
    box_size=1,
    # 边框设为1个像素,这里随意
    border=1
)
#生成二维码图片
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image()
#将图片变成灰度矩阵,img转换后矩阵里面不是255就是0
img2=np.array(img.convert('L'))
#定义一个字典方便生成字符串
d={
    255:'█',0:' '}
#注意这里的样式颜色字体很关键
li=['
'] #遍历每个像素生成html文本 rows,cols=img2.shape for i in range(rows): a='' for j in range(cols): a+=d[img2[i,j]] a+='
'
li+=[a] li+=['
'
] #写入文件 f=open("QRcode.html","w",encoding='utf8') f.writelines(li) f.close()

打开生成的文件~

那么既然是想显示二维码为什么不直接用图片呢?

  • 这样的二维码是基于HTML文本的,这样可以实现特别的效果,比如用js控制一点点的显示二维码出现。如网页:http://withzz.cn/html/info.html 的效果。

你可能感兴趣的:(二维码,python)