中华网数码

数码
设为书签Ctrl+D将本页面保存为书签,全面了解最新资讯,方便快捷。
业 界/ 互联网/ 行 业/ 通 信/ 数 码/ 手 机/ 平 板/ 笔记本/ 相 机
当前位置: 数码 > 要闻 >

超有趣的 Python 开源工具,教你做出彩色、会动的二维码

超有趣的 Python 开源工具,教你做出彩色、会动的二维码
2021-12-10 06:00:02 来源:量子位

你有没有见过彩色的,会动的二维码?比游戏还刺激的那种(狗头):

或者是保熟的二维码(不熟我把它吃了):

还有这个,当年要是被王司徒扫到了,肯定等不及在两军阵前发表高论就气倒了:

这些二维码虽然鬼畜了起来,但是并不影响它作为二维码的原始功能,不信可以试试,照样能扫出来~

这是一位名叫 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

责任编辑:kj005

文章投诉热线:156 0057 2229 投诉邮箱:29132 36@qq.com
关键词:

英国2023年将淘汰2G/3G网络 提高5G覆盖率

2021-12-09 10:27:16英国2023年将淘汰2G/3G网络 提高5G覆盖率

2021年OLED笔记本面板出货量或达470万片 同比增长395%

2021-12-07 10:51:172021年OLED笔记本面板出货量或达470万片 同比增长395%

三季度5G智能手机占整体市场出货量的77.0%

2021-12-01 09:58:30三季度5G智能手机占整体市场出货量的77.0%

第三季中国PC市场出货量超过1500万台 联想位居第一

2021-11-30 10:12:02第三季中国PC市场出货量超过1500万台 联想位居第一

iPhone 13重回月度销量榜首!OPPO持续站稳第一梯队

2021-11-29 11:08:13iPhone 13重回月度销量榜首!OPPO持续站稳第一梯队

全球NAND总营收大涨15% 三星居首

2021-11-26 11:29:54全球NAND总营收大涨15% 三星居首

相关新闻