当前位置:首页 > 科技  > 软件

Python玩转二维码,炫酷!

来源: 责编: 时间:2023-12-25 17:28:42 153观看
导读二维码(Quick Response Code)几乎已经渗透到我们日常生活的每一个角落。本文分享如何使用Python生成各种炫酷二维码。二维码(Quick Response Code)几乎已经渗透到我们日常生活的每一个角落。二维码是 1994 年发明的一种矩

二维码(Quick Response Code)几乎已经渗透到我们日常生活的每一个角落。本文分享如何使用Python生成各种炫酷二维码。Gv628资讯网——每日最新资讯28at.com

Gv628资讯网——每日最新资讯28at.com

二维码(Quick Response Code)几乎已经渗透到我们日常生活的每一个角落。Gv628资讯网——每日最新资讯28at.com

二维码是 1994 年发明的一种矩阵条形码。Gv628资讯网——每日最新资讯28at.com

实际上,二维码通常包含指向网站或应用程序的定位器、标识符或跟踪器的数据。Gv628资讯网——每日最新资讯28at.com

二维码使用四种标准化编码模式(数字、字母数字、字节/二进制、汉字)来高效存储数据。Gv628资讯网——每日最新资讯28at.com

二维码的结构

Gv628资讯网——每日最新资讯28at.com

从上图可以看出,二维码结构整体分为功能模式和编码区。功能模式细分为:空白区、位置探测图形、分隔符、图形定位、图形矫正;而编码区又细分为:格式信息、版本信息、数据、纠错码字。我们简单了解一下各部分的作用:Gv628资讯网——每日最新资讯28at.com

  • 空白区:留空,无需做任何处理
  • 位置探测图形:辅助扫描软件定位二维码
  • 分隔符:区分功能模式和编码区
  • 图形定位:指示标记的密度并确定坐标系
  • 图形矫正:校正图形的数量和位置
  • 格式信息:存储格式化数据信息
  • 版本信息:二维码规格,40个规格的二维码符号矩阵
  • 数据和纠错码字:实际保存的二维码信息和纠错码字

本文用到的第三方库:qrcode, myqr, pillow, zxingGv628资讯网——每日最新资讯28at.com

首先在终端中安装这些库:Gv628资讯网——每日最新资讯28at.com

pip install qrcode myqr pillow zxing

python中的二维码

import qrcodedata = 'https://www.baidu.com'image = qrcode.make(data=data)image.show()image.save("baidu.png")

生成的二维码如下图:Gv628资讯网——每日最新资讯28at.com

Gv628资讯网——每日最新资讯28at.com

进阶

  • 大小和颜色
import qrcodedef plotQR(box_size, border, fill_color,back_color):    qr = qrcode.QRCode(        versinotallow=2,        error_correctinotallow=qrcode.constants.ERROR_CORRECT_L,        box_size=box_size,        border=border,    )    data = 'https://www.baidu.com/'    qr.add_data(data=data)    qr.make(fit=True)    image = qr.make_image(fill_color=fill_color , back_color=back_color)    fn = f"baidu_{box_size}_{border_size}_{fill_color}_{back_color}.png"    image.save(fn)    return fnexampleList = [    (15,3,'blue','white'),    (15,3,'red','green'),    (10,2,'yellow','grey'),    (5,1,'pink','black'),][plotQR(*arg) for arg in exampleList]

结果如下:Gv628资讯网——每日最新资讯28at.com

baidu_15_3_blue_white.png:Gv628资讯网——每日最新资讯28at.com

Gv628资讯网——每日最新资讯28at.com

baidu_15_3_red_green.png:Gv628资讯网——每日最新资讯28at.com

Gv628资讯网——每日最新资讯28at.com

baidu_10_2_yellow_grey.png:Gv628资讯网——每日最新资讯28at.com

Gv628资讯网——每日最新资讯28at.com

baidu_5_1_pink_black.pngGv628资讯网——每日最新资讯28at.com

Gv628资讯网——每日最新资讯28at.com

  • 背景图

myqr是另外一个二维码相关的库,它可以生成带背景图的二维码。Gv628资讯网——每日最新资讯28at.com

from MyQR import myqrmyqr.run(    words="https://baidu.com/",    versinotallow=1,    picture="bg.png",    colorized=True,    save_name="baidu_bg.png",)

上图生成的二维码:Gv628资讯网——每日最新资讯28at.com

Gv628资讯网——每日最新资讯28at.com

当然把背景图换成动态图(gif),也可以生成动态的二维码。

本文链接:http://www.28at.com/showinfo-26-54005-0.htmlPython玩转二维码,炫酷!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python 30行代码内制作一个计算器

下一篇: 10分钟了解Python黑魔法 Yield、Iterator、Generator

标签:
  • 热门焦点
Top