你见过这么“癫”的二维码吗?

日常生活,我们见过的二维码中大多数都是由白底和很多黑点组成的二维条码,以X秘书表白墙的链接 为例:

http://love520.zhujinhui.net/?a=Jeffrey&b=X%E7%A7%98%E4%B9%A6&d=2024-01-01

它对应的普通二维码是这样的:
X秘书表白墙普通版二维码.png

由于它是X秘书网站下的链接,想让它带有X秘书的元素符号:

X秘书表白墙黑白图片版二维码.png

还能给它点颜色瞧瞧,让它看起来像个真正的logo

X秘书表白墙LOGO版二维码.png

既然是个表白墙链接,心动的特效总要有吧:

X秘书表白墙心动版二维码.gif

当然还可以更“癫”点,生成一个“贪吃蛇”的二维码:

贪吃蛇.gif

反正一个二维码有多“癫”,全看“艺术家”的代码艺术。

言归正传,这些二维码图片是到底是怎么生成的呢?这其实是python的一个很有趣的第三方库——amzqr实现的,GitHub地址为:

https://github.com/x-hw/amazing-qr

简介

amzqr是一个二维码生成器,它帮助我们可生成普通二维码带图片的艺术二维码(黑白与彩色)动态二维码(黑白与彩色)

安装

pip install amzqr

使用方法

它有两种使用方式,一个是命令行,一种在python中直接调用库

命令行方式
amzqr  Words    # 二维码扫描解析出来的字符串,可以是url也可以是普通文字
      [-v {1,2,3,...,40}]   # 二维码边长,1~40
      [-l {L,M,Q,H}]  # 纠错等级L、M、Q、H,依次升高,默认H
      [-n output-filename]  # 生成的二维码图片名称,格式可以是 .jpg, .png ,.bmp ,.gif 
      [-d output-directory]  # 生成的二维码图片所在目录,默认当前目录
      [-p picture_file]  # 底图,二维码生成后与这个指定的底图融合,可以是静态图片,也可以是gif,默认为空
      [-c]  # 是否涂色,不传则不
      [-con contrast]  # 用来调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
      [-bri brightness]  # 用来调节图片的亮度,其余用法和取值与 -con 相同。

比如 上面的“X秘书表白墙LOGO版二维码.png”的生成例子:

amzqr  "http://love520.zhujinhui.net/?a=Jeffrey&b=X%E7%A7%98%E4%B9%A6&d=2024-01-01"  -p xmishu.jpg -n xmishu_color_qrcode.png -c
作为导入文件
# 安装模块后
from amzqr import amzqr
version, level, qr_name = amzqr.run(
    words,  # 二维码扫描解析出来的字符串,可以是url也可以是普通文字
    version=1,  # 二维码边长,1~40
    level='H',  # 纠错等级L、M、Q、H,依次升高,默认H
    picture=None,  # 底图,二维码生成后与这个指定的底图融合,可以是静态图片,也可以是gif,默认为空
    colorized=False,  # 是否涂色
    contrast=1.0, # 用来调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
    brightness=1.0,  # 用来调节图片的亮度,其余用法和取值与 -con 相同。
    save_name=None,  # 生成的二维码图片名称,格式可以是 .jpg, .png ,.bmp ,.gif 
    save_dir=os.getcwd()  # 生成的二维码图片所在目录,默认当前目录
)

最近520也是快到了,那么你可以找来一个动漫亲吻的gif,或者用你们真人拍摄视频后转过来的gif也可以,做picture底图来生成代表爱情的二维码:

kiss.gif

生成一个有亲吻画面的二维码:

from amzqr import amzqr

amzqr.run(
    "http://love520.zhujinhui.net/?a=Jeffrey&b=X%E7%A7%98%E4%B9%A6&d=2024-01-01",
    picture="kiss.gif",
    save_name="kiss_qrcode.gif",
    colorized=True,
)

生成效果:

kiss_qrcode.gif

注意事项
  • 请尽可能采用正方形或近似正方形的图片,否则可能会被压缩导致比例失衡,因为二维码最终都是正方形图片

  • 建议在图片尺寸大的时候使用 -v 的值也应该适当变大。

  • 尽可能少用有透明无色部分的图片

今天你学会了吗?学会了赶紧去试试吧!欢迎大家交流讨论!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值