java - 在 ZXing 生成的 QR 码上删除边距/边框空间并将 ErrorCorrectionLevel 设置为“H”?
问题描述
我想生成没有边距/边框空间并ErrorCreationLevel.H
使用 ZXing 的 QR 码,如下所示:
Map<EncodeHintType, Object> hints = new EnumMap<>(EncodeHintType.class);
hints.put(com.google.zxing.EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(com.google.zxing.EncodeHintType.MARGIN, 0);
QRCodeWriter writer = new QRCodeWriter();
writer.encode("rasool", BarcodeFormat.QR_CODE, 200, 200, hints);
通过这种方式,生成的二维码包含默认的边距/边框空间,可以轻松扫描,但我希望它不应该有任何边距/边框空间。
而当我评论与 相关的行时ErrorCreationLevel
,生成的二维码没有任何边距/边框空间,但无法用智能手机和扫描仪软件扫描。
我使用的是 ZXing 3.4.0版本。
我怎么解决这个问题?
解决方案
毫无疑问,您的扫描困难与参考解码算法要求静区(“边缘”)保持不变有关,因此扫描仪无法检测、构图和二值化符号。
纠错级别有助于从二值化符号中恢复丢失/损坏的信息,但如果没有静区,您甚至可能无法在解码过程中走得这么远。
推荐阅读
- autohotkey - 为什么重新映射键会干扰 FormatTime?
- rust - 柴油文档中的 `tags` 变量来自什么?
- javascript - 错误:无法读取 null 的属性(读取“classList”)
- next.js - 我应该在哪里存储 JSON 文件并在需要时在 Next.JS 中获取数据?
- django - Django Celery,应用程序导入错误仅在生产中
- python - 实现模式匹配——什么时候使用缓存?
- java - 需要帮助或指导来解决问题 快速阅读
- javascript - 我可以在 Angular 中使用护照和会话吗?我可以登录,但 Passport 的“isAuthenticated()”总是返回 false
- django - django-mptt:“where 子句”中的未知列“goods_category.lft”
- c - 在c中制作linux导出函数(不带参数)(在c中排序bash导出输出)