gpt4 book ai didi

node.js - 如何克隆具有给定内容文本的 QRCode 图像?

转载 作者:太空宇宙 更新时间:2023-11-04 01:52:34 24 4
gpt4 key购买 nike

我有一个 QRCode 图像及其内容:P01 V0N S0000000 enter image description here

我尝试使用 node-qrcode 使用不同的 matchPattern 重新生成此图像。 :

const $qr = require('qrcode')
const text = 'P01 V0N S0000000'

for (let i = 0; i < 8; i++) {
let path = `P01V0NS0000000-${i}.png`
const opt = {
maskPattern: i
}
$qr.toFile(path, text, opt, function (err) {
if (err) {
console.log(err)
} else {
console.log(opt)
}
})
}

但生成的图像均不具有与目标相同的图案: enter image description here

我还尝试了不同的 version 参数,但所有 version>1 都会生成非常密集的模式。

此 QRCode 图像是否使用某种salt 生成,使其难以复制?

最佳答案

无需尝试其他版本,因为您的第一张图像显然是版本 1 (21x21)。相反,它可能是格式编码(给定字符集,应用程序可能使用字母数字,而您的原始数据很可能是字节)

根据您提供的链接,我建议阅读 this section关于模式并尝试以下任一方式:

mode: 'alphanumeric'

或与:

mode: 'byte'

查看其中是否有任何与您的原始代码匹配。

另一个可以改变 QR 码外观的参数是 error correction level 。我猜测默认情况下 node-qrcode 使用给定版本 1 可能的最高级别,而您的原始版本可能使用较低级别。

使用这些参数,您将拥有一组 8(maskPattern)*2(mode)*4(errorCorrectionLevel) = 64 可能的 QR 码,其中包含相同的数据,因此也许其中一个会匹配!

<小时/>

编辑

由于您的数据长度为 16 个字符,因此范围会缩小,因为纠错级别只能具有以下值 ( source ):

  • LMQ 用于字母数字模式
  • L 表示字节 模式

因此,您有 (3+1)*8 = 32 可能的结果图像。

关于node.js - 如何克隆具有给定内容文本的 QRCode 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49105954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com