如何用python制作个性动态的二维码,非常酷炫

百度已收录   阅读次数: 391
2021-12-1112:27:47 发表评论
摘要

不知道大家有没有留意到,最近的二维码有了一些新变化,就是逐渐动态起来了,各种有意思的动态图二维码,是不是感觉很新奇也很有意思,那么问题来了,这些动态二维码是如何制作的呢?本篇文章就为大家揭开其神秘面纱,分享给大家……

如何用python制作个性动态的二维码,非常酷炫

开篇寄语

不知道大家有没有留意到,最近的二维码有了一些新变化,就是逐渐动态起来了,各种有意思的动态图二维码,是不是感觉很新奇也很有意思,那么问题来了,这些动态二维码是如何制作的呢?本篇文章就为大家揭开其神秘面纱,分享给大家。

内容详情

先来几个有趣的例子:

一扫之后,就可以出现各种信息,这便是动态二维码了,那么如何实现的呢?

这就要介绍一个Github上的项目了——Segno

项目地址:https://github.com/heuer/segno

先来说一下原理:

二维码能修改部分背景是因为二维码中不同的区域,承担不同的功能,并且可以自定义颜色。

例如很明显的一点,常见的二维码在三个角上有较大的像素块(标红),用来定位:

如何用python制作个性动态的二维码,非常酷炫

在三个大像素块旁边的黑色像素块(标红)用来设置格式信息:

如何用python制作个性动态的二维码,非常酷炫

而左下和右上两个大像素块旁边的黑色像素块(标红)用来确定版本信息等等:

如何用python制作个性动态的二维码,非常酷炫

因此,当我们自定义这些区域的颜色时,就可以改变二维码的背景了。

原理介绍完了,接下来就是参看其项目的官方知道教程,链接是:https://segno.readthedocs.io/en/stable/colorful-qrcodes.html,按照教程咱们来制作一个。

先安装两个python依赖库:qrcode-artistic 和 Pillow

pip install qrcode-artistic 
pip install Pillow

然后用 segno.make () 生成一个二维码,在函数中填上扫描二维码显示出的内容。

有了生成函数之后,在转化函数 qrcode.to_artistic,background 之后输入你想要替换的背景,可以输入.png,.jpg,.gif 等格式的图片。

最后在 target 之后给输出的二维码命名,方便在文件夹中找到。

import segno
qrcode = segno.make('The Beatles -- Abbey Road', error='h')
qrcode.to_artistic(background='src/abbey-road-walking.gif',
                    target='abbey-road.webp' scale=4)

等运行完毕,你就能在项目文件中找到带有各种背景的二维码了~

扫描生成的二维码后,就会出现文本信息:

  • The Beatles -- Abbey Road

怎么样,是不是很有意思,感兴趣的朋友可以发挥自己的想象力自己制作啦。

分享至:
  • 我的微信
  • 微信扫一扫加好友
  • weinxin
  • 我的微信公众号
  • 扫描关注公众号
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: