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

python应用之qrcode生成二维码的示例

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

python应用之qrcode生成二维码的示例

本文将为大家详细介绍“python应用之qrcode生成二维码的示例”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python应用之qrcode生成二维码的示例”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。

python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。


一、准备

python环境

涉及到的python库需要 pip install 包名 安装

pip install qrcode
pip install pillow

二、代码编写

1.引入库

import qrcodefrom PIL import Imageimport osimport sys

2.配置初始化参数

 qr = qrcode.QRCode(        version=2,  #25*25     二维码的版本号,每一个版本号对应一个尺寸,这里尺寸不是图片的大小而的是二维码长宽被分成的份数        error_correction=qrcode.constants.ERROR_CORRECT_H,     #纠错容量,指二维码不完整时可以正常识别出原信息的概率(ERROR_CORRECT_H的纠错率最高)        box_size=8,            #生成图片的像素        border=1,              #二维码边框宽度    )

3.得到二维码对象

qr.add_data(string)  **#string为想要打开的链接**    qr.make(fit=True)    #用make()方法生成图片    img = qr.make_image(fill_color = 'black',back_color = 'white')  #得到二维码对象,并可以通过修改fill_color、back_color参数来调整小格子颜色和背景色    img = img.convert("RGBA")  #将图片转换为RGBA格式

4.在二维码中放置logo

if logo and os.path.exists(logo):        try:            icon = Image.open(logo)            img_w, img_h = img.size  #img_w、img_h是二维码的尺寸        except Exception as e:            print(e)             sys.exit(1)        factor = 4        size_w = int(img_w / factor)        size_h = int(img_h / factor)        icon_w, icon_h = icon.size   #icon_W、icon_h是logo原始的尺寸        if icon_w > size_w:          #size_W、size_h是二维码尺寸的1/factor            icon_w = size_w        if icon_h > size_h:            icon_h = size_h        icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)   #antialias是平滑处理        # 保证二维码大小不超过二维码大小的1/factor        w = int((img_w - icon_w) / 2)  #计算logo在二维码中的相对位置        h = int((img_h - icon_h) / 2)        icon = icon.convert("RGBA")        img.paste(icon, (w, h), icon)  #根据相对位置w、h将logo放到二维码图片上,所以说实际是logo并不是二维码的一部分,会遮挡二维码的一部分,不能太大,否则无法识别

5.配置相应信息并调用函数

if __name__ == "__main__":    info = "https://blog.csdn.net/weixin_45386875/article/details/113766276"            #二维码的链接    pic_path = "qr.png"                       #生成的图片保存文件    logo_path = "logo.png"                    #logo的文件名    gen_qrcode(info, pic_path,logo_path )     #调用函数

6.完整代码

import qrcodefrom PIL import Imageimport osimport sysdef gen_qrcode(string, path, logo=""):    """    生成中间带logo的二维码    需要安装qrcode, PIL库    @参数 string: 二维码字符串    @参数 path: 生成的二维码保存路径    @参数 logo: logo文件路径    @return: None    """    qr = qrcode.QRCode(        version=2,  #25*25     二维码的版本号,每一个版本号对应一个尺寸,这里尺寸不是图片的大小而的是二维码长宽被分成的份数        error_correction=qrcode.constants.ERROR_CORRECT_H,     #纠错容量,指二维码不完整时可以正常识别出原信息的概率(ERROR_CORRECT_H的纠错率最高)        box_size=8,    #生成图片的像素        border=1,      #二维码边框宽度    )    qr.add_data(string)  #string为想要打开的链接    qr.make(fit=True)    #用make()方法生成图片    img = qr.make_image(fill_color = 'black',back_color = 'white')  #得到二维码对象,并可以通过修改fill_color、back_color参数来调整小格子颜色和背景色    img = img.convert("RGBA")  #将图片转换为RGBA格式    if logo and os.path.exists(logo):        try:            icon = Image.open(logo)            img_w, img_h = img.size  #img_w、img_h是二维码的尺寸        except Exception as e:            print(e)             sys.exit(1)        factor = 4        size_w = int(img_w / factor)        size_h = int(img_h / factor)        icon_w, icon_h = icon.size   #icon_W、icon_h是logo原始的尺寸        if icon_w > size_w:          #size_W、size_h是二维码尺寸的1/factor            icon_w = size_w        if icon_h > size_h:            icon_h = size_h        icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)   #antialias是平滑处理        # 保证二维码大小不超过二维码大小的1/factor        w = int((img_w - icon_w) / 2)  #计算logo在二维码中的相对位置        h = int((img_h - icon_h) / 2)        icon = icon.convert("RGBA")        img.paste(icon, (w, h), icon)  #根据相对位置w、h将logo放到二维码图片上,所以说实际是logo并不是二维码的一部分,会遮挡二维码的一部分,不能太大,否则无法识别    img.save(path)    # 调用系统命令打开图片    # xdg - open(opens a file or URL in the user's preferred application)    #os.system('xdg-open %s' %(path)) #这是Linux系统的命令    os.startfile(path) #windows 下打开文件if __name__ == "__main__":    info = "https://file.lsjlt.com/upload/202306/06/xqhc4hrjupj"                       #生成的图片保存文件    logo_path = "logo.png"                    #logo的文件名    gen_qrcode(info, pic_path,logo_path )     #调用函数

如果你能读到这里,小编希望你对“python应用之qrcode生成二维码的示例”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注编程网行业资讯频道!

免责声明:

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

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

python应用之qrcode生成二维码的示例

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

下载Word文档

猜你喜欢

python应用之qrcode生成二维码的示例

本文将为大家详细介绍“python应用之qrcode生成二维码的示例”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python应用之qrcode生成二维码的示例”能够给你意想不到的收获,请大家跟着小编的思路慢
2023-06-06

前端: 如何利用Qrcode制作一个二维码生成器?

玲琅满目的二维码在我们的都市和朋友圈中随处可见, 很多平台都提供了定制二维码的服务, 那么作为一名程序员, 我们如何自己实现一个简单的二维码生成器呢? 接下来笔者就来带大家一起利用Qrcode实现一个二维码生成器.

python生成二维码的实例详解

python生成二维码的实例详解 版本相关 操作系统:Mac OS X EI Caption Python版本:2.7 IDE:Sublime Text 3 依赖库 Python生成二维码需要的依赖库为PIL和QRcode。 坑爹的是,百度
2022-06-05

Java使用Zxing二维码生成的简单示例

ZXing是一个开源的,用Java实现的多种格式的1D/2D条码图像处理库,下面这篇文章主要给大家介绍了关于Java使用Zxing二维码生成的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
2023-01-17

利用java生成二维码工具类示例代码

二维码介绍二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来
2023-05-31

分享Python文本生成二维码实例

本文实例分享了Python文本生成二维码的详细代码,供大家参考,具体内容如下 测试一:将文本生成白底黑字的二维码图片 测试二:将文本生成带logo的二维码图片#coding:utf-8 ''' Python生成二维码 v1.0 主要将文本生
2022-06-04

编程热搜

  • 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动态编译

目录