Python使用MyQR生成动态二维码的示例代码

 更新时间:2025年09月25日 09:36:38   作者:Humbunklung  
二维码作为信息传递的重要载体,结合动态图像技术可以创造出极具创意的交互体验,本文用Python的MyQR库生成动态二维码,并通过代码示例介绍的非常详细,需要的朋友可以参考下

二维码作为信息传递的重要载体,结合动态图像技术可以创造出极具创意的交互体验。本文用Python的MyQR库生成动态二维码。

一、环境准备

安装MyQR库

pip install MyQR

或使用uv

uv add MyQR

二、基础用法

2.1 生成静态二维码

myqr.run(
    words='https://github.com',  # 目标链接
    save_name='basic_qr.png',    # 输出文件名
)

实际应用举例:

def get_simple_qrcode(words, save_name):
    if save_name[-3:] in ["jpg", "png"]:
        myqr.run(
            words=words,
            save_name=save_name
        )
        print("已生成简单二维码,存储至%s" % save_name)
    else:
        raise AttributeError("二维码不支持保存为%s格式" % save_name[-3:])

2.2 生成动态二维码

myqr.run(
    words='Hello World!',
    picture='input.gif',         # 动态背景图
    colorized=True,              # 启用彩色
    save_name='animated_qr.gif', # 输出动态二维码
    version=6                    # 复杂度等级(1-40)
)

三、参数详解

参数类型说明示例值
wordsstr二维码内容URL/TEXT
picturestr背景图路径'bg.gif'
colorizedbool是否彩色True/False
contrastfloat对比度(0-2)1.5
brightnessfloat亮度(0-2)1.0
save_dirstr保存路径'./output/'
versionint二维码密度(1-40)6

四、高级技巧

4.1 颜色控制

myqr.run(
    words='COLOR DEMO',
    picture='bg.jpg',
    colorized=True,
    contrast=1.2,
    brightness=0.8,
    save_name='color_qr.gif'
)

4.2 动态速度控制

通过调整GIF帧间隔时间,需要安装Pillow

pip install pillow

或使用uv

uv add pillow
# 需要手动处理GIF时序
from PIL import Image

with Image.open('input.gif') as img:
    img.save('adjusted.gif', 
             save_all=True, 
             duration=100,  # 每帧时长(ms)
             loop=0)

五、代码示例

from MyQR import myqr
import os


def get_img_qrcode(words, save_name, picture, version=6, colorized=True):
    if save_name[-3:] in ["jpg", "png", "gif"]:
        if picture[-3:] in ["png", "jpg", "gif"]:
            myqr.run(
                words=words,
                picture=picture,
                colorized=colorized,
                save_name=save_name,
                version=version
            )
            print("已生成图片二维码,存储至%s" % save_name)
        else:
            raise AttributeError("不支持的图片格式\t%s" % picture[-3:])
    else:
        raise AttributeError("二维码不支持保存为%s格式" % save_name[-3:])
        
if __name__ == '__main__':
    url = "https://blog.csdn.net/Humbunklung"
    if not os.path.isdir("img_qrcode"):
        os.mkdir("img_qrcode")

    for root, dirs, files in os.walk("logo"):
        for file in files:
            get_img_qrcode(
                words=url,
                save_name=f"img_qrcode/qrcode_{file}",
                picture=os.path.join(root, file),
                colorized=True
            )

六、注意事项

  • ​图像尺寸建议:背景图边长至少为二维码尺寸的1/4
  • 颜色对比度:保证二维码区域与背景有足够对比
  • 文件体积控制:动态二维码大小建议不超过5MB
  • 兼容性测试:使用微信/支付宝等多平台扫描验证

七、效果优化方案

7.1 图像预处理

使用OpenCV调整亮度和对比度

import cv2
img = cv2.imread('input.jpg')
adjusted = cv2.convertScaleAbs(img, alpha=1.2, beta=50)

7.2 批量生成工具

创建自动化脚本

import os

contents = ['link1', 'link2', 'link3']
for idx, text in enumerate(contents):
    myqr.run(
        words=text,
        picture=f'bg{idx%3}.gif',
        save_name=f'qr_{idx}.gif'
    )

八、扩展应用场景

  • 活动宣传:将海报融入二维码
  • 电子名片:动态展示联系方式
  • 产品包装:增强用户互动体验
  • 艺术创作:生成数字艺术作品

九、小结

通过MyQR库,开发者可以在10行代码内实现专业级的动态二维码生成。结合具体业务需求,可以进一步开发出:

  • 带数据埋点的营销二维码
  • 动态更新的信息展示系统
  • 增强现实(AR)交互入口

以上就是Python使用MyQR生成动态二维码的示例代码的详细内容,更多关于Python MyQR生成动态二维码的资料请关注脚本之家其它相关文章!

相关文章

  • Python编写登陆接口的方法

    Python编写登陆接口的方法

    这篇文章主要为大家详细介绍了Python编写登陆接口的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • python字典各式各样操作从基础到高级全面示例详解

    python字典各式各样操作从基础到高级全面示例详解

    在Python中,字典(Dictionary)是一种强大而灵活的数据结构,它允许你存储和检索键值对,本文将深入探讨Python中各式各样的字典操作,包括基本操作、高级操作以及一些实用的技巧,通过全面的示例代码,将展示如何充分发挥字典在Python编程中的优势
    2023-12-12
  • Python os模块中的isfile()和isdir()函数均返回false问题解决方法

    Python os模块中的isfile()和isdir()函数均返回false问题解决方法

    这篇文章主要介绍了Python os模块中的isfile()和isdir()函数均返回false问题解决方法,返回false的原因是路径使用了相对路径,使用绝对路径就可以解决这个问题,需要的朋友可以参考下
    2015-02-02
  • Python中的两个内置模块介绍

    Python中的两个内置模块介绍

    这篇文章主要介绍了Python中的两个内置模块介绍,本文讲解Python启动后默认会加载的两个内建模块,需要的朋友可以参考下
    2015-04-04
  • Python selenium模拟网页点击爬虫交管12123违章数据

    Python selenium模拟网页点击爬虫交管12123违章数据

    本次介绍怎么以模拟点击方式进入交管12123爬取车辆违章数据,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Python API 自动化实战详解(纯代码)

    Python API 自动化实战详解(纯代码)

    今天小编就为大家分享一篇Python API 自动化实战详解(纯代码),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • 简单了解django索引的相关知识

    简单了解django索引的相关知识

    这篇文章主要介绍了简单了解django索引的相关知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python编程利用Numpy和PIL库将图片转化为手绘

    Python编程利用Numpy和PIL库将图片转化为手绘

    这篇文章主要介绍了Python编程利用Numpy和PIL库将一张图片转化为手绘风格,文中附含详细实现的示例代码,有需要的朋友可以借鉴参考下
    2021-09-09
  • Django ORM数据库操作处理全面指南

    Django ORM数据库操作处理全面指南

    本文深度探讨Django ORM的概念、基础使用、进阶操作以及详细解析在实际使用中如何处理数据库操作,同时,我们还讨论了模型深入理解,如何进行CRUD操作,并且深化理解到数据库迁移等高级主题
    2023-09-09
  • Python利用xmltodict实现字典和xml互相转换的示例代码

    Python利用xmltodict实现字典和xml互相转换的示例代码

    xmltodict是一个Python第三方库,用于处理XML数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12

最新评论