我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python如何使用MyQR和qrcode来制作二维码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python如何使用MyQR和qrcode来制作二维码

这篇文章将为大家详细讲解有关python如何使用MyQR和qrcode来制作二维码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Python的优点有哪些

1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。

一、二维码

  二维码( 2 − D i m e n s i o n a l (2-Dimensional(2−Dimensional B a r c o d e ) Barcode)Barcode),又称二维条形码。它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形来记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。

  一维条形码,就是我们日常所说的条形码( B a r c o d ) (Barcod)(Barcod),常见于食品包装上。它是将宽度不等的多个黑条和空白,按一定的编码规则排列,用以表达一组信息的图形标识符。常见的一维条形码是由黑条(简称条)和白条(简称空)排成平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期以及图书分类号、邮件起止地点、类别、日期等信息。
  通常一维条形码所能表示的字符集不过10个数字、26个英文字母及一些特殊字符,条码字符集最大所能表示的字符个数为128个ASCII字符,信息量非常有限。

  二维码有其特定的字符集,每个字符占有一定的宽度,每种码具有一定的校验功能,同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。
  二维条形码是在二维空间水平和竖直方向存储信息的条形码。它的优点是信息容量大,译码可靠性高,纠错能力强,制作成本低,保密与防伪性能好。

目前,世界上应用最多的二维条码符号有Aztec Code、PDF147、QR Code等。

python如何使用MyQR和qrcode来制作二维码

常见的二维码为QR CodeCode,QR全称是Quick Response,是一个近几年来移动设备上超流行的一种编码方式。它的结构如下:

python如何使用MyQR和qrcode来制作二维码

QR Code属于矩阵式二维条码,又称棋盘式二维条码。它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。
主要有以下特点:

  • 符号规格从版本1(21×21)到版本40(177×177),每提高一个版本,每边增加 4 个码元(即指构成 QR 码的方形黑白点);

  • 信息容量大:能存储 7089 个数字字符或 4296 个字母字符或 2953 个 8 位字节字符或 1817 汉字字符;

  • 纠错能力强:即使部分编码变脏或破损,也可以恢复数据。L级约可纠错 7% 的数据码字,M级约可纠错 15% 的数据码字,Q级约可纠错25%的数据码字,H级约可纠错 30% 的数据码字;

  • 可以从任意方向读取:QR码可以从 360° 任一方向均可快速读取。通过 QR 码中的三处定位图案,可以帮助 QR 码不受背景样式的影响,实现快速稳定的读取。

二、MyQR

MyQR可以生成常见的二维码、艺术二维码(黑白或彩色),动态二维码(黑白或彩色),安装命令如下:

pip install MyQR -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

python如何使用MyQR和qrcode来制作二维码

更多详细内容可以参考官方文档:https://github.com/sylnsfar/qrcode

代码如下

if __name__ == '__main__':    version, level, qr_name = myqr.run(        words='https://blog.csdn.net/qq_42730750',        version=1,        level='H',        picture='./XKD.gif',        colorized=True,        contrast=1.0,        brightness=1.0,        save_name='test4.gif',        save_dir=os.getcwd()    )    print(version)    print(level)    print(qr_name)

  这是我生成的几个二维码:

python如何使用MyQR和qrcode来制作二维码

python如何使用MyQR和qrcode来制作二维码

MyQR确实是挺好用的,唯一的缺点就是,不支持中文!!!没错,是不是有点遗憾,它只支持以下字符:

  • 数字 0 到 9

  • 大小写的英文字母

  • 常用英文标点符号和空格

三、qrcode

qrcode的功能虽稍逊于MyQR,但是它支持中文字符,且能生成矢量图,安装命令如下:

pip install qrcode -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

python如何使用MyQR和qrcode来制作二维码

官方文档 Github 网址:https://github.com/lincolnloop/python-qrcode

生成二维码代码如下:

def mergeImg(img1, img2, flag=True):    """    合并图像    :param img1:    :param img2:    :param flag: True 表示将logo居中, False 表示将logo作为背景图    :return:    """    img1_w, img1_h = img1.size    if flag:        img2_w = int(img2.size[0] / 3)        img2_h = int(img2.size[1] / 3)        # 缩放logo        img2 = img2.resize(size=(img2_w, img2_h), resample=Image.ANTIALIAS)        # 将logo居中显示        img1.paste(im=img2, box=(int((img1_w - img2_w) / 2), int((img1_h - img2_h) / 2)))        img1.save('./test8.png')    else:        img2 = img2.resize(size=(img1_w, img1_h), resample=Image.ANTIALIAS)        # 两张图片的size和mode要一致        # 计算公式为out = image1 * (1.0 - alpha) + image2 * alpha        # 这里的背景色就是一种干扰了, 如果将二维码的透明度设置过高会识别不出来        out_img = Image.blend(img1, img2, alpha=0.3)        out_img.save('./test9.png')if __name__ == '__main__':    qr = qrcode.QRCode(        version=1,        error_correction=qrcode.constants.ERROR_CORRECT_H,        box_size=10,        border=4,    )    qr.add_data('这是我的博客地址: https://blog.csdn.net/qq_42730750')    qr.make(fit=True)    # black green purple orange pink white blue    # make_image() 返回的是一个PilImage对象    # 可以使用pillow对它进行图像处理相关的操作    # img1 = qr.make_image(fill_color="#8A2BE2", back_color="white")    img1 = qr.make_image(fill_color="orange", back_color="white").convert('RGB')    # img1.show()    # img1.save('./test6.png')    img2 = Image.open('./cutcamera.png').convert('RGB')    mergeImg(img1, img2, flag=True)

关于“python如何使用MyQR和qrcode来制作二维码”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python如何使用MyQR和qrcode来制作二维码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python如何使用MyQR和qrcode来制作二维码

这篇文章将为大家详细讲解有关python如何使用MyQR和qrcode来制作二维码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语
2023-06-15

python 使用MyQR和qrcode来制作二维码

前言今天下午无聊,突发奇想想玩玩二维码,于是就结合着上学期学的标识技术,用Python制作了一下二维码。 一、二维码二维码( 2 D i m e n s i o n a l (2-Dimensional(2Dimensional B a
2022-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录