【问题标题】:Is it possible to change background of ZXing when showing QR code using intent?使用intent显示二维码时,是否可以更改ZXing的背景?
【发布时间】:2021-05-16 22:33:36
【问题描述】:

我想使用 ZXing 生成二维码并在屏幕上显示,但是我要求二维码显示在特定背景 [图像] 上。 ZXing可以吗?

谢谢

编辑: 能够将状态栏标题从纯文本 [我正在使用 TYPE_TEXT] 更改为其他内容也很棒。

【问题讨论】:

    标签: android zxing


    【解决方案1】:

    只需create the barcode image using the library 并将其显示在您自己的活动中。你可以随心所欲地设计它。

    【讨论】:

    • 我认为仅使用 android-integration 库是不可能的。调用startActivityForResult 时没有返回任何结果。我正在尝试以“正确”的方式使用它 - 有意图。如果我要将 zxing 作为 lib 包含在我的应用中,我只需修改现有布局即可。
    • 包括图书馆有什么犹豫?许可证不受限制,大小非常合理(尤其是当您将其缩减为您需要的功能后),并且您不再依赖于要安装的另一个应用程序/包。
    • 当使用意图时,我可能会专注于我的应用程序,并留下与 Sean Owne 和其他开发人员相关的所有 QR ;) 这样,每当他们更新某些内容时,我就不必担心发布我的新版本应用程序。特别是因为我也在我的应用程序中使用条形码扫描。
    • @323go 问题是大多数“嵌入”库的人都在复制和粘贴。在应用程序和 Android 的上下文中,这种看似无害的重用类型会导致问题:意图干扰、虚假支持请求、消费者混淆、商标问题。我不认为这可能是一个问题。但是克里斯蒂安等人。看到问题并正确地仔细考虑重用。e
    【解决方案2】:

    这是如何使用 ZXING 库创建透明二维码的示例:

            QRCodeWriter qrCodeWriter = new QRCodeWriter();
            // create output image
            BufferedImage image = new BufferedImage(382, 382, BufferedImage.TYPE_INT_ARGB);
            // create bit matrix
            BitMatrix bitMatrix = new MultiFormatWriter().encode(
                    qrCodeString,
                    BarcodeFormat.QR_CODE, 382, 382);
            // set pixels of output image based of bit matrix (black or translucent)
            for (int i = 0; i < 382; i++) {
                for (int j = 0; j < 382; j++) {
                    image.setRGB(i,j, bitMatrix.get(i,j) ? Color.BLACK.getRGB() : Color.TRANSLUCENT);
                }
            }
            // write output image as png
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
            ImageIO.write(image, "PNG", outputStream);
    

    【讨论】:

      【解决方案3】:

      没有办法。通常,条形码周围需要一个安静的白色区域,因此您通常不想这样做。如果你真的需要,你可以编写自己的布局并嵌入与显示相同的代码。

      【讨论】:

      • 静区仅指定为块大小的四倍。这真的没什么大不了的。
      • 我正在使用 Appcelerator 编写的应用程序中执行此操作,并且 [使用安静区域] 运行良好。所以似乎唯一的方法就是按照 323go 的建议。
      • @Sean Owen 我在扫描图像后扫描了图像我正在移动到新活动现在我想显示以前屏幕扫描条形码的图像?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2011-12-14
      • 2015-07-18
      相关资源
      最近更新 更多