前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python二维码生成器

python二维码生成器

作者头像
周小董
发布2019-03-25 14:42:56
1.7K0
发布2019-03-25 14:42:56
举报
文章被收录于专栏:python前行者python前行者

现在,我们生活中到处可以看到二维码。它有啥好处呢?它具有信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。

我们生成的东西一般都在电脑上。如果弄到移动设备上,用到最多的是扫码。在移动设备浏览器中输入URL明显没有扫描二维码方便。

就是这个:

image.png
image.png

python 有qrcode库,很容易就生成二维码。现在在需要使用Python图像库的时候一般是用 Pillow 模块代替PIL。安装非常简单:

代码语言:javascript
复制
pip install pillow

安装 qrcode 也是类似:

代码语言:javascript
复制
pip install qrcode

在Python中也可以用如下的方式快速生成:

代码语言:javascript
复制
import qrcode
img = qrcode.make('Some data here')

更高级一些的设置需要在Python中引入QRCode类: 示例代码1:

代码语言:javascript
复制
import qrcode

qr = qrcode.QRCode(version=2, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=1)
qr.add_data(""python爱好部落 snake"")
qr.make(fit=True)
img = qr.make_image()
img.save("snake_qrcode.png")

生成的结果为:

image.png
image.png

微信扫描的结果是:

image.png
image.png

参数 version 表示生成二维码的尺寸大小,取值范围是 1 至 40,最小尺寸 1 会生成 21 * 21 的二维码矩阵,version 每增加 1,生成的二维码就会添加 4 个单位大小,例如 version 是 2,则生成 25 * 25 尺寸大小的二维码。 参数 error_correction 指定二维码的容错系数,分别有以下4个系数: ERROR_CORRECT_L: 7%的字码可被容错 ERROR_CORRECT_M: 15%的字码可被容错 ERROR_CORRECT_Q: 25%的字码可被容错 ERROR_CORRECT_H: 30%的字码可被容错 参数 box_size 表示二维码里每个格子的像素大小。 参数 border 表示边框的格子宽度是多少(默认是4)。

示例代码2(生成带有图标的二维码):

代码语言:javascript
复制
import qrcode
from PIL import Image

qr = qrcode.QRCode(
    version=2,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=1
)
qr.add_data("python爱好部落, python爱好者的家园")
qr.make(fit=True)
img = qr.make_image()

img = img.convert("RGBA")
img_w, img_h = img.size
factor = 3
size_w = int(img_w / factor)
size_h = int(img_h / factor)

icon = Image.open("snake.png")
icon_w, icon_h = icon.size
if icon_w > size_w:
    icon_w = size_w
if icon_h > size_h:
    icon_h = size_h
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)

w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
img.paste(icon, (w, h), icon)
img.save("snake_love_qrcode.png")

如此,就将以下图片

image.png
image.png

生成二维码:

image.png
image.png

如果是下载URL,扫描后就可以直接下载了。 放到jenkins上,每次生成的build,直接扫码就可以下载到手机上了。

参考:https://www.jianshu.com/p/30b6ec813b4f


python生成动态个性二维码

代码语言:javascript
复制
pip install myqr

1、生成普通二维码

安装了 myqr 之后,就可以在命令行中使用它了。假如我想要将 http://www.rablive.cn 字符串生成一个二维码,则只需要将在命令行中输入以下命令即可:

代码语言:javascript
复制
myqr http://www.rablive.cn

运行后,myqr 会将生成的二维码保存在当前路径下,名称为 qrcode.png

2、带图片的二维码

如果想要生成艺术二维码,则可以使用 -p 参数指定图片,将二维码与该图片结合在一起

代码语言:javascript
复制
myqr http://www.rablive.cn -p rablive.png

默认生成的结果是黑白的,如果想要生成彩色的,可以加上参数 -c。

代码语言:javascript
复制
myqr http://www.rablive.cn -p rablive.png -c -n rablive_qrcode_c.png

3、动态GIF二维码

如果想要生成动态GIF二维码,方式与上面的带图片的二维码的生成方式没有区别,只是将原始的 png/.jpg 图片换成 gif 即可。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python生成动态个性二维码
    • 1、生成普通二维码
      • 2、带图片的二维码
        • 3、动态GIF二维码
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档