
扫码,扫码,大家现在见得最多的图片就是二维码了。但是,你了解二维码吗,知道怎样美化二维码?生成动态二维码吗?今天小编就给大家分享怎样用python来美化二维码。操作很简单,相信大家很快就能学会,一起来看吧!
以下文章来源于: Python的乐趣
作者:一粒米饭
二维码(2-dimensional bar code),又称QR Code,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。本教程将展示如何在原有黑白图片的基础上,给二维码添加一些色彩和动态效果,即给二维码换个皮肤。首先,简单了解一下二维码的基础知识。
一个普通二维码的基本结构如下:
其中位置探测图像、定位图像和校验图形用于定位功能;格式信息表示二维码的纠错级别,分为L、M、Q、H;版本信息:从21x21(版本1),到177x177(版本40),每一版本符号比前一版本 每边增加4个模块;数据和纠错码字就是实际保存的二维码信息以及二维码变脏或破损用于修正的信息。
了解了二维码的基本结构后,下面开始用Python美化二维码。
zxing用来识别二维码中的内容,myqr用来生成个性化的二维码,安装命令如下:
$ pip install zxing myqr
二维码图片如下:
背景图片如下:
# 导入xzing和myqr import zxingfrom MyQR import myqrimport os
# 解析二维码中的内容reader = zxing.BarCodeReader()content = reader.decode("qrcode.png")
# 生成新的二维码version, level, qr_name = myqr.run(words=content.parsed, # 上面解析出来的二维码内容 version=1, # 设置容错率为最高 level='H', # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高 picture="luffy.png", # 要使用的图片 colorized=True, # 彩色二维码 contrast=1.0, #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0 brightness=1.0, #用来调节图片的亮度,其余用法和取值同上 save_name="qr_colorized.png", # 保存文件的名字,格式可以是jpg,png,bmp,gif save_dir=os.getcwd() #保存位置 )
# 效果如下
下面再展示如何生成一个有动态效果的二维码。
# 动图如下
# 生成动图二维码version, level, qr_name = myqr.run(words=content.parsed, # 上面解析出来的二维码内容 version=1, # 设置容错率为最高 level='H', # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高 picture="penguin.gif", # gif图片 colorized=True, # 彩色二维码 contrast=1.0, #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0 brightness=1.0, #用来调节图片的亮度,其余用法和取值同上 save_name="qrcode.gif", # 保存文件的名字,格式可以是jpg,png,bmp,gif save_dir=os.getcwd() #保存位置 )
# 效果如下
参考资料:
https://coolshell.cn/articles/10590.html 二维码的生成细节和原理
https://github.com/sylnsfar/qrcode
https://github.com/dlenski/python-zxing
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18刚入职场或是在职场正面临岗位替代、技能更新、人机协作等焦虑的打工人,想要找到一条破解职场焦虑和升职瓶颈的系统化学习提升 ...
2025-07-182025被称为“AI元年”,而AI,与数据密不可分。网易公司创始人丁磊在《AI思维:从数据中创造价值的炼金术 ...
2025-07-18CDA 数据分析师:数据时代的价值挖掘者 在大数据席卷全球的今天,数据已成为企业核心竞争力的重要组成部分。从海量数据中提取有 ...
2025-07-18SPSS 赋值后数据不显示?原因排查与解决指南 在 SPSS( Statistical Package for the Social Sciences)数据分析过程中,变量 ...
2025-07-18在 DBeaver 中利用 MySQL 实现表数据同步操作指南 在数据库管理工作中,将一张表的数据同步到另一张表是常见需求,这有助于 ...
2025-07-18数据分析师的技能图谱:从数据到价值的桥梁 在数据驱动决策的时代,数据分析师如同 “数据翻译官”,将冰冷的数字转化为清晰的 ...
2025-07-17Pandas 写入指定行数据:数据精细化管理的核心技能 在数据处理的日常工作中,我们常常需要面对这样的场景:在庞大的数据集里精 ...
2025-07-17解码 CDA:数据时代的通行证 在数字化浪潮席卷全球的今天,当企业决策者盯着屏幕上跳动的数据曲线寻找增长密码,当科研人员在 ...
2025-07-17CDA 精益业务数据分析:数据驱动业务增长的实战方法论 在企业数字化转型的浪潮中,“数据分析” 已从 “加分项” 成为 “必修课 ...
2025-07-16MySQL 中 ADD KEY 与 ADD INDEX 详解:用法、差异与优化实践 在 MySQL 数据库表结构设计中,索引是提升查询性能的核心手段。无论 ...
2025-07-16解析 MySQL Update 语句中 “query end” 状态:含义、成因与优化指南 在 MySQL 数据库的日常运维与开发中,开发者和 DBA 常会 ...
2025-07-16如何考取数据分析师证书:以 CDA 为例 在数字化浪潮席卷各行各业的当下,数据分析师已然成为企业挖掘数据价值、驱动决策的 ...
2025-07-15CDA 精益业务数据分析:驱动企业高效决策的核心引擎 在数字经济时代,企业面临着前所未有的数据洪流,如何从海量数据中提取有 ...
2025-07-15MySQL 无外键关联表的 JOIN 实战:数据整合的灵活之道 在 MySQL 数据库的日常操作中,我们经常会遇到需要整合多张表数据的场景 ...
2025-07-15Python Pandas:数据科学的瑞士军刀 在数据驱动的时代,面对海量、复杂的数据,如何高效地进行处理、分析和挖掘成为关键。 ...
2025-07-15用 SQL 生成逆向回滚 SQL:数据操作的 “后悔药” 指南 在数据库操作中,误删数据、错改字段或误执行批量更新等问题时有发生。 ...
2025-07-14t检验与Wilcoxon检验的选择:何时用t.test,何时用wilcox.test? t 检验与 Wilcoxon 检验的选择:何时用 t.test,何时用 wilcox. ...
2025-07-14AI 浪潮下的生存与进阶: CDA数据分析师—开启新时代职业生涯的钥匙(深度研究报告、发展指导白皮书) 发布机构:CDA数据科 ...
2025-07-13LSTM 模型输入长度选择技巧:提升序列建模效能的关键 在循环神经网络(RNN)家族中,长短期记忆网络(LSTM)凭借其解决长序列 ...
2025-07-11