超有趣的 Python 开源工具,教你做出彩色、会动的二维码
消息来源:baojiabao.com 作者: 发布时间:2024-05-09
你有没有见过彩色的,会动的二维码?比游戏还刺激的那种(狗头):
或者是保熟的二维码(不熟我把它吃了):
还有这个,当年要是被王司徒扫到了,肯定等不及在两军阵前发表高论就气倒了:
这些二维码虽然鬼畜了起来,但是并不影响它作为二维码的原始功能,不信可以试试,照样能扫出来~
这是一位名叫 Lars heuer 的小哥制作的一款二维码编辑器 Segno,让黑白的二维码世界亮了起来,在 GitHub 上收获了 200 多颗星:
这款编辑器可以把二维码的背景换成不同的颜色,图片甚至是 gif 图片:
并且全部程序不需要任何依赖项,并且支持多种格式,快来康康。
如何给二维码换装?
要想给二维码换装首先我们得准备一个二维码还有一件"衣服"。
其中二维码可以通过函数生成,只需要填上你希望扫描二维码之后显示出的文字或者网址之类的信息。
"衣服"就是背景图啦,多种格式的图片和鬼畜动图都可以。
具体到操作层面应该怎么做呢?
Lars heuer 准备了两个库:qrcode-artistic 和 Pillow。
我们先把这两个库装上:
pip install qrcode-artisticpip install Pillow
然后用 segno.make () 生成一个二维码,在函数中填上扫描二维码显示出的内容。
有了生成函数之后,在转化函数 qrcode.to_artistic,background 之后输入你想要替换的背景,可以输入.png,.jpg,.gif 等格式的图片。
最后在 target 之后给输出的二维码命名,方便在文件夹中找到。
>>> import segno>>> qrcode = segno.make('1', error='h')>>> qrcode.to_artistic(background='2', target='3',... scale=8)
等运行完毕,你就能在项目文件中找到带有各种背景的二维码了~
什么原理?
其实道理也很简单。
二维码能修改部分背景是因为二维码中不同的区域,承担不同的功能,并且可以自定义颜色。
例如很明显的一点,常见的二维码在三个角上有较大的像素块(标红),用来定位:
在三个大像素块旁边的黑色像素块(标红)用来设置格式信息:
而左下和右上两个大像素块旁边的黑色像素块(标红)用来确定版本信息等等:
因此,当我们自定义这些区域的颜色时,就可以改变二维码的背景了。
大开脑洞来试试吧,更细节的信息可以在文末链接中找到~
参考链接:
[1]https://github.com/heuer/segno
[2]https://segno.readthedocs.io/en/stable/colorful-qrcodes.html
2022-05-08 05:23:52相关文章
- 美国法院裁定阿里须为Squishmallows玩具侵权案答辩
2023-12-28 19:59:34
- 小米汽车传员工3700人 雷军称小米汽车不可能卖9万9
2023-12-28 19:41:57
- 国家新闻出版署:认真研究《网络游戏管理办法(草桉徵求意见稿)》关切 实行前进一步完善
2023-12-28 19:14:56
- 天猫新规可以无条件申请“仅退款”了?淘宝天猫又离狗多多零元购近了一步
2023-12-28 18:57:55
- 印度以打击金融犯罪为由逮捕了两名 vivo 高管
2023-12-26 16:49:01
- 在国外微信收不到国内信息?微信和WeChat将被拆分
2023-12-15 10:40:15
- 苹果iPhone15 系列手机发布最新消息 预计上市发布时间9月
2023-08-06 23:21:02
- 华为将发布鸿蒙HarmonyOS4操作系统 功能五大升级支持设备清单
2023-08-06 23:17:37
- 整治自媒体网红账号 400万粉丝网红发布擦边视频被无限期封禁
2023-07-12 09:56:09
- 网传微信文件传输助手是真人是真的吗?微信官方回应
2023-06-27 15:53:32
- 电信移动送手机成了“信用购”?你上了运营商的贷款套路了吗?
2023-06-12 17:18:55
- 中国电信广东地区崩了无信号 客服回应已在核实处理
2023-06-08 15:39:04
- 消息称小米新能源汽车价格表正讨论定价区间:双版本不同配置,高配或超 35 万元
2023-03-06 12:56:03
- 华为因制裁被传或分拆剥离手机业务? 内部人士回应:可能性不大.
2023-03-05 23:26:41
- OPPO正式发布安第斯智能云,让终端更智能
2023-02-24 16:02:27
- 华为与OPPO签订全球专利交叉许可协议 包括5G蜂窝通信专利
2023-02-24 16:02:26
- 老蛙将推MINI镜头新品:目前未知具体规格 官宣将于12月20日发布
2023-02-24 16:02:26
- 首发全新35mm定制光学系统 努比亚Z50性能同样强悍
2023-02-24 16:02:25
- Redmi K60屏幕细节曝光:全系标配2K护眼柔性直屏+5000mAh大容量电池
2023-02-24 16:02:25
- OPPO Find N2今天发 合金金属折叠屏更轻了
2023-02-24 16:02:24