You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何生成带有Logo且二维码不被遮挡的二维码?

解决二维码被Logo遮挡的问题

你当前使用QrImage组件生成带Logo的二维码时出现遮挡问题,核心原因是Logo尺寸占比过高,超出了当前容错级别的可允许范围。以下是针对性的解决方案:

调整关键参数

  1. 提升容错级别:将errorCorrectionLevel改为QrErrorCorrectLevel.H——这是最高容错等级,允许最多30%的区域被遮挡,足以覆盖合理尺寸的Logo。
  2. 缩小Logo尺寸:把Logo的size从Size.square(95)调整到Size.square(60)左右,控制Logo占二维码总面积的15%以内,确保在容错范围内。
  3. 可选:微调Logo位置:如果仍有定位点被遮挡,可通过offset参数偏移Logo位置,避开二维码的三个角定位块。

修改后的完整代码

QrImage(
  embeddedImage: const AssetImage('assets/images/444.png'),
  embeddedImageStyle: QrEmbeddedImageStyle(
    size: const Size.square(60),
    // 可选:偏移Logo位置,例如向下偏移10
    // offset: const Offset(0, 10),
  ),
  backgroundColor: whiteColor,
  data: widget.data!,
  version: QrVersions.auto,
  size: 200.0,
  errorCorrectionLevel: QrErrorCorrectLevel.H,
),

说明

调整后生成的二维码会直接内嵌Logo,且不会因遮挡导致扫码失效——更高的容错级别会在生成二维码时预留足够的冗余信息,同时缩小的Logo也不会破坏二维码的识别结构。

内容的提问来源于stack exchange,提问作者sandesh shrestha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:21:02